【唠叨】
源码教程请移步: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中声明:
extern CCArray* 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的最大整数
double floor(double x);
//大于x的最小整数
double ceil(double x);
//
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、飞机触摸移动
//
void Game::ccTouchMoved(CCTouch* touch, CCEvent* event) {
if( ship!=NULL ) {
CCPoint pos = touch->getDelta(); //获得触屏滑动的偏移量
CCPoint currentPos = ship->getPosition(); //获得飞机目前坐标
currentPos = ccpAdd(currentPos, pos); //飞机+偏移量 后的坐标
currentPos = ccpClamp(currentPos, CCPointZero, mysize); //不能移除屏幕
ship->setPosition(currentPos); //设置飞机移动后的坐标
}
}
//
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。