【唠叨】

源码教程请移步:http://blog.csdn.net/iamlazybone/article/details/19612941

感谢懒骨头提供了这么多的Demo教程,对于初学者的我而言,帮助真的十分大。

注:本节仅仅记录博主自身学习《战神传说》的心得体会。


【游戏截图】




【学习心得】


1、CCSprite从大图里截取小图

////CCRectMake构造为UI坐标,原点在左上角。CCSprite*sp=CCSprite::create("menu.png",CCRectMake(0,0,120,0));//


2、全局变量extern

////在.h中声明:externCCArray*play_bullet;//在.cpp中定义:CCArray*play_bullet=NULL;//


3、CCMenu布局

////1.让menu的所有按钮竖着排列,并且设置间距为20.menu->alignItemsVerticallyWithPadding(20);//2.按菜单项顺序竖着排列,放置每行ci个元素menu->alignItemsInColumns(c1,c2,c3,...,cn,NULL);//


4、开关菜单项CCMenuItemToggle

//CCMenuItemFont*on=CCMenuItemFont::create("ON");CCMenuItemFont*off=CCMenuItemFont::create("OFF");CCMenuItemToggle*toggle=CCMenuItemToggle::createWithTarget(this,menu_selector(Options::setOptions),off,on,NULL);//设置开关选项,下标从0开始toggle->setSelectedIndex(1);//


5、上下取整函数

////小于等于x的最大整数doublefloor(doublex);//大于x的最小整数doubleceil(doublex);//


6、随机数0~1

//CCRANDOM_0_1();//


7、动作分解

当一个动画由多个动作组成时,可以对动画进行动作分解。

如分解成:移动、放大、旋转等,单独处理,然后在整合成一个复杂的动作。


8、流程分解

(1)checkIsCollide(); //碰撞检测(只扣血)

(2)removeInactiveUnit(); //移除不活跃的元素(销毁死掉的战机或***)

(3)checkIsReborn(); //战机重生,或游戏结束(重新复活)

(4)updateUI(); //刷新界面


9、混合模式

详细讲解请移步:http://shahdza.blog.51cto.com/2410787/1547633


10、飞机触摸移动

//voidGame::ccTouchMoved(CCTouch*touch,CCEvent*event){if(ship!=NULL){CCPointpos=touch->getDelta();//获得触屏滑动的偏移量CCPointcurrentPos=ship->getPosition();//获得飞机目前坐标currentPos=ccpAdd(currentPos,pos);//飞机+偏移量后的坐标currentPos=ccpClamp(currentPos,CCPointZero,mysize);//不能移除屏幕ship->setPosition(currentPos);//设置飞机移动后的坐标}}//