当前位置:  编程技术>移动开发
本页文章导读:
    ▪coco2d-x 2.0学习系列(2):基本概念        coco2d-x 2.0学习系列(二):基本概念 基本概念 0.导演(CCDirector) 在cocos2d-x引擎中,CCDirector类是整个游戏的组织和控制核心,游戏的运行规则,游戏内的CCScene(场景)、布景(CCLayer)、角色(C.........
    ▪ 设立打开新Activity的动画效果        设置打开新Activity的动画效果 先来看贴图,点击打开另一个Activity的动画效果     package com.jay.demo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; impor.........
    ▪ libgdx范例metagun代码分析(一)       libgdx实例metagun代码分析(一) 最近看android下的游戏开发,看了《Beginning Android Game》,顺便研究了下libgdx框架,看了下metagun源码,整体结构还是比较简单的,但是里面涉及到的数字运算还是比.........

[1]coco2d-x 2.0学习系列(2):基本概念
    来源: 互联网  发布时间: 2014-02-18
coco2d-x 2.0学习系列(二):基本概念
基本概念
0.导演(CCDirector)
在cocos2d-x引擎中,CCDirector类是整个游戏的组织和控制核心,游戏的运行规则,游戏内的CCScene(场景)、布景(CCLayer)、角色(CCSprite)等的运动,
均由CCDirector管理,其在游戏中起着指定游戏规则让游戏内的场景、布景和任务有序的运行。在整个游戏里面,一般只有一个导演,游戏开始和结束时,
都需要调用CCDirector的方法完成游戏初始化或销毁工作,其提供了一些场景管理的方法,如runWithScene、DrawScene、pushScene和replaceScen等。
它控制FPS的显示隐藏,窗口大小,游戏的进入,退出,关卡的切换,取得正交模式,取得正在运行的场景,取得GL视图,游戏主循环入口等等
不同的场景由不同的层组成,每个层又包含精灵在上面运动。玩家玩游戏的过程就是在操作层上的精灵或者菜单项,从而在不同的场景中切换。
导演负责不同场景的切换,导演通常只有一个,因此这个对象是单例(singleton)。
任何时间,只有一个CCScene对象实例处于激活状态。

CCDirector类的2大任务:
设置主程序窗口的显示属性
  初始化CCDirector对象  CCDirector *pDirector = CCDirector::sharedDirector();
  设置是否显示FPS  pDirector->setDisplayFPS(true);
  设置游戏画面每秒的帧数   pDirector->setAnimationInterval(1.0 / 60);
 管理显示场景
 CCDirector对象一次只能显示一个场景。为了便于管理场景对象,CCDirector对象有3个属性与场景有关
     /* 当前显示的场景 */
     CCScene *m_pRunningScene;
 
     /* 下一个将要显示的场景 */
     CCScene *m_pNextScene;
 
     /* 待执行的场景队列 */
     CCArray* m_pobScenesStack;
	管理场景方法
/* 用来显示主程序启动后的第一个场景,如果已存在运行的场景,则不可使用 */
     void runWithScene(CCScene *pScene);
 
     /* 挂起当前正在运行的场景,压入待执行场景队列,并开始执行新的场景 */
     void pushScene(CCScene *pScene);
 
     /* 从待执行场景队列中弹出一个场景,并以此取代当前运行中的场景。
      如果待执行场景队列已为空,那么程序将终止运行。 */
     void popScene(void);
 
     /* 直接用一个场景取代当前场景,这是最常用的一个方法。 */
     void replaceScene(CCScene *pScene);
 
     /* 结束运行,释放当前场景。 */
     void end(void);
 
     /* 暂停场景运行。画面还存在,但时间任务停止。 */
     void pause(void);
 
     /* 恢复场景运行。 */
     void resume(void);
1.场景(CCScene)
展示类场景:播放视频 图像文字输出 游戏介绍 胜利失败提示 帮助说明
选项类场景:主菜单 游戏设置 关卡选择
游戏场景:游戏的主要内容
2.层(CCLayer)
实现游戏的内容,一个场景一半包括多个层。 
CCLayer的主要功能在于:
1)接收触摸(touch)操作输入。
2)接收动力感知(Accelerometer)输入。
CCLayerColor(颜色层)
CCLayerGradient(渐变层)
CCLayerGradient是CCLayerColor的子类,可以在背景上绘制渐变色。
CCMenu(菜单层)
CCLayerMultiplex(复合层)
3.精灵(CCSprite)
精灵是整个游戏开发处理的主要对象
精灵就是一个可以不断变化的图片。这些变化包括:位移、旋转、缩放以及图片帧的切换
4.摄像机(CCCamera)  
    游戏中每个节点都需要摄像机,当节点发生缩放,旋转和位置变化时,都需要覆盖摄像机,让这个节点通过摄像机进行重新渲染。
官方对于摄像机的描述是这样的:CCCamera应用于每个CCNode中。 在从不同视野观察时起作用,OpenGL中的gluLookAt函数用来定位摄像机。 假如这个物体通过绽放、旋转、或者平移,那么这些操作将修改摄像机。 注意:使用摄像机或者操作旋转、绽放、平移等属性,你只能选其中一个,假如你使用摄像机,世界坐标就会失去作用。 局限性: 几种节点,如CCParallaxNode,CCParticle使用世界节点坐标,并且他们并不能正常工作,假如你使用摄像机移动他们(或者他们的任何父类)。 在成批的结点上(即一个结点上包含多个节点)如CCSprite对象不会正常工作当他们都从属于一个CCSpriteBatchNode对象时。 推荐你只在创建3d特效时使用。对于2d特效来说,用CCFollow动作或者平移、绽放、旋转更好。 
5.动作(CCAction) 
    角色所具有的动作,一般用于精灵发生动作时使用,如移动,释放魔法等。

	总体关联结构
	                导演--1~n-->场景--1~n-->层--1~n-->精灵--1~n-->动作
					
	

 

 


    
[2] 设立打开新Activity的动画效果
    来源: 互联网  发布时间: 2014-02-18
设置打开新Activity的动画效果

先来看贴图,点击打开另一个Activity的动画效果

 

 

package com.jay.demo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class HomeActivity extends Activity {

        /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout1);
        Button gotoBtn = (Button) findViewById(R.id.gotobtn);
        gotoBtn.setOnClickListener(listener);
    }
    private OnClickListener listener = new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                        Intent intent = new Intent(HomeActivity.this, SecondActivity.class);
                        startActivityForResult(intent, 0);
//                        HomeActivity.this.finish();
                        int version =  Integer.valueOf(android.os.Build.VERSION.SDK);
                        if(version > 5 ){
                                overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
                        }
//                        HomeActivity.this.finish();
                }
        };
}

 

 

<?xml version="1.0" encoding="utf-8"?>   
<set xmlns:android="http://schemas.android.com/apk/res/android"  
        android:interpolator="@android:anim/decelerate_interpolator">   
    <scale android:fromXScale="0.1" android:toXScale="1.0"  
           android:fromYScale="0.1" android:toYScale="1.0"  
           android:pivotX="50%p" android:pivotY="50%p"  
           android:duration="3000" />     
 <!-- 这里为了看到动画演示效果,把动画持续时间设为3秒 -->     
    <alpha    
        android:fromAlpha="0.1"    
        android:toAlpha="1.0"    
        android:duration="1000" />                   
</set>  

 

 


    
[3] libgdx范例metagun代码分析(一)
    来源: 互联网  发布时间: 2014-02-18
libgdx实例metagun代码分析(一)

最近看android下的游戏开发,看了《Beginning Android Game》,顺便研究了下libgdx框架,看了下metagun源码,整体结构还是比较简单的,但是里面涉及到的数字运算还是比较吃力,把自己对源码的理解写下来备忘

 

整体类结构

 

1.应用程序全局类

Metagun:主应用程序类,render渲染,在render进行窗口渲染和维护时钟周期;

Art:游戏图片资源加载类;

Sound:游戏资源加载类,全部是wav,sound文件,没有什么可说的;

Stats:游戏过程中的状态信息类;

Input:输入监听器,实现了InputProcessor,接收所有输入事件的回调;

 

2.窗口类

抽象类Screen,类关系图




3.实体类

抽象实体类 Entity



 

 4.等级类

Level:实现地图加载,视角移动;

 

 

 

 

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3