cocos2d-x遊戲實例(28)-簡易動作遊戲(6)

小滿(bill man)個人原創,歡迎轉載,轉載請註明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man

本篇繼續簡易動作遊戲實例,本篇加入簡單血量條ui,效果如下:


可以看到在左上角加入了一個顯示血條的ui,是兩條線寬不同的直線疊加的效果,首先聲明瞭一個UILayer類,該類繼承自CCLayer,使用其中的draw函數來繪製形狀,該類的聲明如下:


除了初始化函數和析構函數,然後重寫draw函數,在其中繪製圖形,然後就是主角生命的變量life,並加入他的setget函數方便存取,下面來看函數實現:


主要是draw函數的實現,繼承自CCLayerdraw函數,然後首先繪製底部的黑色直線,線寬定爲10,然後繪製上面的血條,血條是紅色的,線寬設置爲5,然後紅色的長度是由生命值life決定的life初始時設爲100

下面就是在我們的場景初始化init中加入這個ui層並加入到場景中:

ui = new UILayer();

addChild(ui, 0);

然後就是在update函數中檢測到和怪的碰撞時,減去相應的血量:

if(! isreduce && iscollision(gameplayer,enemy)){

  CCActionInterval*  action = CCBlink::actionWithDuration(5, 10);

  gameplayer->runAction(action);

  schedule(schedule_selector(MapScene::resetreduce), 5.0f);

  isreduce = true;

  hmove = 0;

  ui->setlife(ui->getlife() - 5);

}

到此簡易的動作遊戲實例就基本完成,只是加入了一些簡單的功能,地圖碰撞,跳躍,敵人,ui等,大家可以加入其它功能,這裏把代碼上傳,代碼地址爲:

http://download.csdn.net/detail/bill_man/4246534

另外感謝大家的支持,代碼編寫的時間倉促,也沒什麼時間重構優化,有錯誤和不足之處還要麻煩大家幫助我指出,謝謝大家

如有錯誤之處,希望大家多多指正

下一篇繼續其他遊戲實例


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章