溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cocos2dx實戰(zhàn)篇——《戰(zhàn)神傳說》學習心得

發(fā)布時間:2020-06-16 12:51:14 來源:網絡 閱讀:2561 作者:shahdza 欄目:開發(fā)技術

【嘮叨】

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

    感謝懶骨頭提供了這么多的Demo教程,對于初學者的我而言,幫助真的十分大。

    注:本節(jié)僅僅記錄博主自身學習《戰(zhàn)神傳說》的心得體會。


【游戲截圖】

cocos2dx實戰(zhàn)篇——《戰(zhàn)神傳說》學習心得




【學習心得】


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、上下取整函數(shù)

//
	//小于等于x的最大整數(shù)
	double floor(double x);
	//大于x的最小整數(shù)
	double ceil(double x);
//


6、隨機數(shù)0~1

//
	CCRANDOM_0_1();
//


7、動作分解

    當一個動畫由多個動作組成時,可以對動畫進行動作分解。

    如分解成:移動、放大、旋轉等,單獨處理,然后在整合成一個復雜的動作。


8、流程分解

    (1)checkIsCollide();     //碰撞檢測(只扣血)

    (2)removeInactiveUnit(); //移除不活躍的元素(銷毀死掉的戰(zhàn)機或***)

    (3)checkIsReborn();      //戰(zhàn)機重生,或游戲結束(重新復活)

    (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);                          //設置飛機移動后的坐標
		}
	}
//



向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI