cocos2d iphone之魔塔20層第十部分

2021-08-27 09:56:32 字數 2627 閱讀 6449

這部分教程源**連線

今天我們要在我們的主場景中新增兩個重要的精靈,就是樓層傳送和怪物檢視。

首先我們要在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 ...