首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

Cocos2d 基礎概念 (2) - Composition Actions 組合動作

     編輯:關於.NET

四大組合動作

Cocos2d 提供四種核心組合動作,讓開發者能靈活編排動作序列:

  • Sequence:順序執行
  • Spawn:並行執行
  • Repeat:有限次數重複
  • RepeatForever:無限循環

Sequence:順序動作

依序執行一組動作,前一個結束後才執行下一個。

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]];

重要: 內部動作必須有限時長,不可包含 RepeatForever 等無限動作。

Spawn:並行動作

同時執行多個動作,總時長取最長的子動作時長。

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:有限重複

讓動作重複指定次數。

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:無限循環

動作永不停止,時長不可測量。常搭配 Sequence + Reverse 實現來回運動。

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

注意: RepeatForever 不是有效的 IntervalAction,不可置入 Sequence 中。

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

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved