標籤:demo cocos2dx
【嘮叨】
源碼教程請移步:http://blog.csdn.net/iamlazybone/article/details/19612941
感謝懶骨頭提供了這麼多的Demo教程,對於初學者的我而言,協助真的十分大。
註:本節僅僅記錄博主自身學習《戰神傳說》的心得體會。
【遊戲】
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/48/B1/wKiom1QK0eqipZKkAAFxoHOj0cQ894.jpg" title="20131209204757062.jpg" alt="wKiom1QK0eqipZKkAAFxoHOj0cQ894.jpg" />
【學習心得】
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); //設定飛機移動後的座標}}//
本文出自 “夏天的風” 部落格,請務必保留此出處http://shahdza.blog.51cto.com/2410787/1549660
cocos2dx實戰篇——Demo《戰神傳說》學習心得