cocos2d 《watchout》笔记

来源:互联网 发布:消防调试联动编程 编辑:程序博客网 时间:2024/06/05 11:30

1,c++enum枚举的使用

         定义一个枚举类型的变量,虽然不知道变量具体是什么值,但能知道它可能会有哪些值,这样,这样,就能对程序中所出现的变量的取值有一个很好的估量,从而使程序的编写更加顺利。

enum枚举类型是C/C++中的一种数据类型,与structclass一样是用户自定义的类型,其特点在于enum类型的变量取值是有限的,是可以一一列举出来的。

C++ enum枚举值对应着一个整型数,通常情况下如果其中的枚举常量没有定义数值,那么第一个枚举值对应着常量值0,然后依次递增,如果第一个枚举常量定义了数值,那么其后的值将随之递增,其中每个常量之间用“,”隔开,而不是“;”,最后一个数值不用符号。

如://游戏状态
enum GAME_STATE
{
       GAME_STATE_START,//游戏开始
       GAME_STATE_PLAYING,//游戏进行中
       GAME_STATE_OVER,//游戏结束
       GAME_STATE_RESET//游戏重置
};

 

       GAME_STATE_gameState

2,可以写一个文件然后引入其他所有头文件,这样在引入头文件时只需要引入这个就行了。

3,  SpriteFrameCache::getInstance()->addSpriteFramesWithFile("watchout.plist","watchout.png");      

SpriteFrameCache 主要服务于多张碎图合并出来的纹理图片。这种纹理在一张大图中包含了多张小图,直接通过TextureCache引用会有诸多不便,因而衍生出来精灵框帧的处理方式,即把截取好的纹理信息保存在一个精灵框帧内,精灵通过切换不同的框帧来显示出不同的图案



4, Sprite* yuanyuan = (Sprite*)top->getChildByTag(tag_yuanyuan);        通过tag获取不同作用域的对象。



5,jif(jumpAction->isDone()) { //下一次点击的时候,只在跳跃完成才有效


6,通过产生1-100的随机数再模2随机产生小的鸟



7jumpAction = Sequence::create(JumpBy::create(0.5, Vec2(-80,0), _jumpHeight, 1),
CallFunc::create(CC_CALLBACK_0(WatchOut::callbackRunAction, this, fangfang)),
nullptr);



//跳跃后的回调函数 还原Sprite状态
void WatchOut::callbackRunAction(Sprite* pTarget) {
std::string name = pTarget->getTag() == tag_fangfang ? "fangfang.png" : "yuanyuan.png";
pTarget->setSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(name));
}


动作回调函数写法。



8,可以在resource.h内宏定义各种参数。

0 0
原创粉丝点击