這部分教程源**連線
今天我們要在我們的主場景中新增兩個重要的精靈,就是樓層傳送和怪物檢視。
首先我們要在game01.h中新增:
//風之羅盤圖示
ccsprite *floorfly;
//洞悉權杖圖示
ccsprite *predict;
然後在game01.m的初始化方法中新增這兩個精靈
//飛行器圖示
cctexture2d
*texture = [[
cctexturecache
sharedtexturecache]addimage:
@"item.png"];
ccspriteframe *fly = [ccspriteframe
framewithtexture:texturerect:cgrectmake(2*32,8*32,32,32)];
floorfly
= [ccsprite
spritewithspriteframe:fly];
floorfly.scale=
2.0;
floorfly.position=
ccp(size.
width
-240
, 110);
[self
addchild:
floorfly];
//洞悉權杖圖示]
ccspriteframe *pre = [ccspriteframe
framewithtexture:texturerect:cgrectmake(2*32,10*32,32,32)];
predict
= [ccsprite
spritewithspriteframe:pre];
predict.scale=
2.0;
predict.position=
ccp(size.
width
-240
, 40);
[self
addchild:
predict];
執行之後截圖如下
下面我們首先來新增樓層傳送這部分,我們需要先新建乙個類flyfloor,**:
flyfloor.h
#import
#import"cocos2d.h"
@inte***ce flyfloor :cclayer
//是否清除窗體
@property(nonatomic,assign)boolremoveview;
@end
flyfloor.m
#import"flyfloor.h"
@implementationflyfloor
@synthesize removeview;
-(id)init
returnself; }
-(void)gofloor:(ccmenuitemfont*) sender
@end
這個類裡面我們使用選單來實現樓層傳送「標籤」,並且我們通過tag值來判斷要傳遞的樓層,然後在呼叫game01中的方法來實現勇士樓層間的傳送。
下面我們就開始在game01.m中呼叫這個類吧:
首先我們現在首次觸控響應方法中新增兩個圖示的矩形區域:
cgrect
rectfly =
cgrectmake
(floorfly.position.x-
32,floorfly.position.y-
32,64,
64);
cgrect rectpredict =cgrectmake(predict.position.x -32,predict.position.y -32,64,64);
然後再新增如下**:
//判斷樓層傳送層是否可以移除
if(flyfloor.removeview) if
(!_hero.isfighting) }
}注釋很詳細就不多講了(記得要在初始化方法中例項化flyfloor),到這裡我們樓層飛行選單是有了,但是還不能進行轉送接下來我們就要使我們的勇士進行樓層傳送了:
//樓層傳送
-(void)gofloor:(int)layer
else
pos = cgpointmake(leftmin + (self.curtitlemap.up.x*32*_scale),downmin + ((10 -self.curtitlemap.up.y)*32*_scale));
[_hero
setposition:pos];
curfloor = layer;}}
這部分**很熟悉吧,就是在穿越樓層的基礎上新增了乙個判斷。
另外我們的判斷條件delivery值的改變是在圖塊檢測中的if(upfloor_tilegid)中新增:
self
.curtitlemap.delivery=
yes;
到這裡我們的樓層傳送模組已經新增好了,執行一下吧!截圖:
Cocos2D iPhone開發思考
主頁 最近看了 ios 5 cocos2d遊戲開發實戰 第2版 這本書,對cocos2d這款遊戲引擎產生了濃厚的興趣。由於本書並沒有對cocos2d的前世今生做明確的交代,出於對cocos2d遊戲引擎的喜愛,我在網際網路搜尋了cocos2d相關的歷史,也看了其作者ricardo自己對cocos2d的...
關於cocos2d iphone小總結
1.導演通常只有乙個,因此這個物件是單例 signleton cocos2d iphone框架已經預定義了該例項,不需建立,我們直接使用就可以。2.director 物件管理場景的方法主要有以下幾個 1.主程式啟勱,顯示第乙個場景的方法 void runwithscene scene scene 2...
cocos2d iphone之魔塔20層第五部分
這部分教程源 連線 這一章我們就要開始在game01.m檔案中canmoveto 方法中的if迴圈中添 加相應的事件了,我在製作地圖時圖塊都設定了其屬性如圖 這裡我就要獲取其屬性值 nsdictionary props self.curtitlemap propertiesforgid enemy ...