几个重要概念
在cocos2d引擎中,有几个概念,分别是导演,场景,布景和人物角色。
导演(CCDirector)在cocos2d-x引擎中,导演类是游戏的组织者和领导者,导演制定规则让游戏内的场景,布景,和人物角色有序的运行
摄像机(CCCamera),每个节点都需要使用摄像机,当节点发生缩放,旋转,和位置变化时,都需要覆盖摄像机,让这个节点通过摄像机重新渲染。
场景(CCScene)在游戏里,场景就是关卡,关卡有人物和背景构成
布景(CCLayer)从概念上说,布景就是场景里的背景,其实就是层次的概念,这种概念在kjava时代就有,就是手动的把游戏中的场景分层(也有靠地图编辑器实现这一功能的)
人物(CCSprite),这就很明显了,当然包括主角和敌人,和npc,以我个人的理解,也包括游戏中的动态大图素及机关等
动作(CCAction),就是人物(CCSprite)拥有的动作
在AppDelegate除了构建函数和析构函数之外,就是处理暂停和重新开始的函数,initInstance函数处理不同平台的问题,在applicationDidFinishLaunching中就是处理导演类和场景开始
HelloWorld::init() 为程序启动前进行初始化函数.布置启动界面.
如何加入一个精灵,然后通过点击屏幕使其动起来.
点击屏幕,切换背景图像.
场景类CCScene, 布景层类CCLayer, 人物精灵类CCSprite, 菜单类CCMenu
一个场景中有多个精灵,如果想通过只管理一个精灵就能够同时控制全部精灵(如位置,旋转,缩放):
创建一个节点,该节点什么都没有,无显示.将其他精灵全部addchild到该节点下.那么以后只要操作该子节点即可.
切换场景动画的使用步骤如下:1) 新建场景。2) 根据需要的新建场景的切换动画选择CCTransitionScene子类, 通过create将之前建
的场景传入其中, 并设置其他参数。3) 调用CCDirector::sharedDirector()->replaceScene(第2步中定义的CCTransitionScene的子类) 替换新场景。
疑问, 目前知道如何在界面中呈现一张场景,场景是可以直接设置一张图像的。 目前想知道的是如何进行鼠标/触屏交互,做出一些改变。如点击一下切换图片,拖动图片,通过键盘或者是拖动,来移动一个东西。教程中都是各种类的介绍说明,以及使用规则,我现在想知道的是,如何在工程中使用这些类?在哪里写代码?如何通过代码控制精灵?如何把自己写的代码放入在工程中?
瞬间动作 CCActionInstant
延时动作 CCActionInterval
程序运行时期,由mainLoop方法维持运行着游戏之内的各个逻辑,当在弹出最后一个场景,或者直接调用CCDirector::end();方法后,触发游戏的清理工作,执行purgeDirector方法,从而结束了 CCEGLView(不同平台不同封装,PC使用OpenGl封装,移动终端封装的为 OpenGl ES) 的运行,调用其end()方法,从而直接执行exit(0);退出程序进程,从而结束了整个程序的运行。(Android 平台的 end() 方法内部通过Jni 方法 terminateProcessJNI(); 调用 Java 实现的功能,其功能一样,直接结束了当前运行的进程)
helloword是一个图层。
大概明白是什么个意思了,scene为场景,layer为布景,比如在游戏开始界面就是一个场景,在游戏进行时就是一个场景。
在游戏开始的场景中加入 ‘开始游戏’按钮(menuitem),然后设置按钮回调函数,然后在回调函数中进行:
auto scene = GameScene::createScene();
// run
CCDirector::sharedDirector()->replaceScene(scene);
这样就进行切换到第二个场景中去了。现在就相当于进入了游戏场景中,我们可以在游戏的场景中添加精灵了!
目前知道这样的切换关系了。可以对自己新建立的场景 进行布置了。
假如我现在假如一个坦克精灵。那么我应该如何通过键盘/鼠标进行点击控制它运动呢?