程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> cocos2d-基本概念(2)-Composition Actions復雜動作

cocos2d-基本概念(2)-Composition Actions復雜動作

編輯:關於.NET

There are some actions that let you compose actions.

Sequence action

Spawn action

Repeat action

RepeatForever action

Sequence 順序

順序Action能夠讓你創建一系列的動作,這些動作將會按著順序被執行。

Example:

id action1 = [MoveTo actionWithDuration:2 position:ccp(100,100)];

id action2 = [MoveBy actionWithDuration:2  position: ccp(80,80)];

id action3 = [MoveBy actionWithDuration:2  position: ccp(0,80)];

[sprite runAction: [Sequence actions:action1, action2, action3, nil]];

The action1 will be executed first. When action1 finishes, then action2 will be executed. And when action2 finishes, only then action3will be executed.

*IMPORTANT:* The inner actions should have a non infinity time (eg: You can't add a RepeatForever action in a Sequence action).

Action1 將會被首先執行,當action1執行結束,action2將會被執行,當action2結束,是action3。

注意:這個action不能是一個無限的時間。例如,你不能增加一個重復到永遠的action到這個順序action裡面。

Spawn 並發?

這個action使得你可以在同一個時間運行多個action。這個動做的持續時間是子action的最長時間。

id action = [Spawn actions:
[JumpBy actionWithDuration:2 position:ccp(300,0) height:50 jumps:4],
[RotateBy actionWithDuration: 2 angle: 720],nil];
[sprite runAction:action];

Repeat 重復

這個重復Action可以讓你有限次數的重復一個動作。 Example:

id a1 = [MoveBy actionWithDuration:1 position:ccp(150,0)];
id action1 = [Repeat actionWithAction:
[Sequence actions: [Place actionWithPosition:ccp(60,60)], a1, nil]times:3];
[sprite runAction:action1];

RepeatForever 永遠重復

永遠重復這個動作是一個特殊的action,它將會一直持續下去。因為它的時間是無法測量的。

Example:

id a1 = [MoveBy actionWithDuration:1 position:ccp(150,0)];
id action2 = [RepeatForever actionWithAction:
[Sequence actions: [[a1 copy] autorelease], [a1 reverse], nil] ];
[sprite runAction:action2];

注意:永遠重復的這個action不是一個有效的IntervalAction,他不能被放置在一個序列action裡面。

出處:http://alexliu.cnblogs.com/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved