08 2016 档案
摘要:版本一 VS2013常用快捷键: 1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合键“Ctrl + -”; 2)前进到下一个光标位置:“Ctrl + Shift + - ”。 2.复制/剪切/删除整行代码 1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“C
阅读全文
摘要:1.定义 定时器在大部分游戏中是不可或缺的,即每隔一段时间,就要执行相应的刷新体函数,以更新游戏的画面、时间、进度、敌人的指令等等。 cocos2dx为我们提供了定时器schedule相关的操作。其操作函数的定义在CCNode中,所以基本上大多数的引擎类都可以设置定时器,如CCLayer、CCSpr
阅读全文
摘要:准备的过程 1.打开TextruePacker软件 2.把游戏中要使用的图片拖到TextruePacker里面,TextruePacker会自动帮我们排序,让所有小图变成一个大图 3.点击Publish-会输出两个文件 MyTexture.plist //里面记录了所有小图在大图中的位置和属性,co
阅读全文
摘要:方法1 掉帧主要是setpostion引起的 因为每一帧每一个精灵都要set一次虽然不知道为什么会这样但是if(poX<1000&&pox>-100){ xx->setpostion(poX);}加了个这样的条件减少set的次数就不卡了(就是每次都调整Size[]保存的坐标,但只set符合要求的)p
阅读全文
摘要:1.首先引入头文件和命名空间 #include "SimpleAudioEngine.h" using namespace CocosDenshion; 2.在GameScene.cpp的init方法中加载背景音乐和音效到一个SimpleAudioEngine::getInstance();的对象中
阅读全文
摘要:1.GameScene.h中声明一些分数边界值 2.在移动的Baby对象类的.cpp文件的update方法中写,每一帧都会执行update方法
阅读全文
摘要:1.在GameScene.cpp的init方法中先定义一个里面放着可变换并在变换的时候会响应事件的MenuItem的Menu,这个Menu里面的可变换MenuItem又由两个小MenuItem组成,每个小MenuItem都有两种状态,一种是正常的状态,还有一种是按下去的状态。 //加入暂停按钮 au
阅读全文
摘要:1.子节点可以通过this->getParent()来获得相应的父节点,并且进行强制类型转换。 ((Scene*)this->getParent())->getPhysicsWorld()->setAutoStep(false); 2.父节点可以通过this->getChildren()来获得全部的
阅读全文
摘要:当局分数的打印和最高分数的记录 1.首先定义一个Label类型的节点在GameScene.cpp的init方法中,设置初始分数为0 _myScore = 0; scorelabel = Label::createWithSystemFont("Score: 0", "Arial", 36); sco
阅读全文
摘要:方法一: 1.在.h文件的属性里面先声明要使用的节点或者变量。 private: Label *scorelabel; 2.在.cpp文件中创建并使用这个节点或者变量。 scorelabel = Label::createWithSystemFont("Score: 0", "Arial", 36)
阅读全文
摘要:精灵使用Blink 执行完动作之后,消失不见了,原因是闪烁的过程中精灵刚好到空纹理(透明)的那部分,这时候用户通过某种操作中断闪烁动作,导致下个状态的时候,精灵依然停留在空纹理的状态。所以最好在精灵执行完闪烁动作之后,或者执行下个动作之前,让精灵setvisible(true)显示出来。 解决方式:
阅读全文
摘要:方法一: 修改自己定义的类的名字,VS2013中可以用Ctrl+H来替换某个特定的单词,Ctrl+F是用来查询某个单词所在的位置或者有没有存在。 方法二: 1.给自己定义的类的.h和.cpp文件的整体加上一个命名空间 Edge.h文件 namespace caishaohang {class Edg
阅读全文
摘要:类A要获得类B中的某个属性,可以是节点属性 方法一 1.先在B类中定义一个_edge的节点属性(可以在B类中进行各种对_edge的操作),然后写一个方法Node* GameController::getEdge(){ return _edge;} 2.接着在A类中先实例化一个B类的对象,然后用这个对
阅读全文
摘要:写一个监听器 touchlistener->onTouchMoved = [this](Touch* pTouch, Event*) { auto delta = pTouch->getDelta(); auto hero = (PlaneHero*)getChildByTag(HERO_TAG);
阅读全文
摘要:1.如果想要设置某个物体有多边形的刚体,这样可以更精确地进行碰撞检测,可以用以下的方法 auto hero = PlaneHero::create(); addChild(hero, 0, HERO_TAG); hero->setPosition(Vec2(winSize.width / 2, he
阅读全文
摘要:播放背景,两个背景的图片是一样的,紧挨着循环播放,以下代码写在playBackground()方法中,并在GameScene.cpp的init方法中调用。 void GameScene::playBackground(){ auto winSize = Director::getInstance()
阅读全文
摘要:1.首先在Resources文件夹下要有打包好的图集文件和相同名称的plist文件。 shoot.png shoot.plist shoot_background.png shoot_background.plist 2.在GameScene.cpp文件下的init方法中加载plist文件 //加载
阅读全文
摘要:注意: 当一个节点有一个子节点的时候,如果移动父节点,子节点也会跟着做相应的移动变化,只要被添加到父节点中,子节点就被绑定了,所以子节点的位置,坐标就会被动地变化。 当一个节点有一个子节点的时候,如果通过setPosition方法设置子节点的坐标,那么,这时候其实是在以父节点左下角为原点的坐标系中,
阅读全文
摘要:1.一般情况下都是把需要实例化的对象类的头文件包含到一个GameController.h中,再在GameController.cpp文件里面去使用各种对象类的方法来实现游戏的逻辑。 2.还有的时候会把GameScene.h头文件包含到需要实例化的对象类的头文件中,是为了使用GameScene类中的某
阅读全文
摘要:一.addchild virtual void addchild( Node * child , int localZOrder , int tag )添加一个子节点到容器中,有Z轴顺序和一个标记。 1.如果子节点被添加到了一个“running(活动着的)”节点,那么'onEnter'和 'onEn
阅读全文
摘要:init()和onEnter()这两个方法都是写实例化对象的类(比如继承自Node的一些类等等)的时候用到的方法。 一般都是public类型下面的 bool init(); void onEnter(); 两个方法在实现的时候都要先执行父类方法,比如 Node::init(); Node::onEn
阅读全文
摘要:一.静态加载 1.首先创建一个layout布局fragment.xml,里面放要显示和操作的控件 2.创建一个layout布局main1.xml,用来实现页面的跳转(跳转为要实现静态加载的界面) 3.创建一个layout布局main2.xml,用来实现MyFragment类的转换为视图控件的定义 4
阅读全文