2013-03-24 33 views
-1
-(void) redafter1 
{ 

red = [CCMenuItemImage 
     itemFromNormalImage:@"red.png" selectedImage:@"redclick.png"]; 
red.position = ccp(175, 725); 
redMenu = [CCMenu menuWithItems:red, nil]; 
redMenu.position = CGPointZero; 
redMenu.scale = .75; 
[self addChild:redMenu z:10]; 
} 

我該如何去動畫這個對象來移動到屏幕上的另一個位置?我對此很新,請在你的解釋中保持基本。如何在VOID語句中創建動畫? XCODE

回答

0

如果要爲CCNode(這是所有cocos2d對象(如圖層,精靈,標籤,菜單項等)的基類生成動畫),則必須使用動作機制。要移動對象,請使用CCMoveTo,CCMoveBy操作,方法爲runAction:

id moveAction = [CCMoveTo actionWithDuration: animationDuration position: targetPosition]; 
[nodeToAnimate runAction: moveAction]; 

在,如果你將它添加到某些父之後運行的對象上動作的情況下,這是可見的(場景或其他可見父),行動將開始出現對象之後。

+0

我迷路了,我該如何控制物體在哪裏移動?我該如何處理這個特定的VOID語句? – user2083920 2013-03-25 01:00:30

+0

不明白你的意思。這是沒有區別的,你會在無效方法或其他地方做到這一點。 – Morion 2013-03-25 10:12:11

0

您在redafter1函數末尾添加[redMenu runAction:[CCMoveTo actionWithDuration:time position:place]];(您選擇時間和位置),因此當父方法最終通過諸如init等方法調用時,您的菜單將會移動。

請記住,您不能移動CCMenuItemImage,因爲它已被鎖定到CCMenu的位置。你必須自己移動CCMenu

希望這有幫助。