成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone游戲開發之Cocos2d中Actions介紹

移動開發 iOS 游戲開發
本文主要是來介紹iphone游戲開發中Cocos2d的Actions介紹,來學習Actions的使用方法,來看詳細內容。

iPhone游戲開發中Cocos2dActions介紹是本文要介紹的內容,Action就好像給一個cocosNode對象的命令。這些動作通常用來改變物體的屬性,例如位置,旋轉,縮放等。如果這些屬性在一段時間只能被修改的話,那么這中叫做 IntervalAction 的Action。否則,它們叫做InstantAction 的動作。

例如:MoveBy 動作,在一段時間之內,改變了位置這個屬性 ,也就是說它是一個IntervalAction的Action。

  1. # Move a sprite 50 pixels to the right, and 10 pixels to the top over 2 seconds.  
  2. sprite runAction: [MoveBy actionWithDuration:2 position:ccp(50,10)]];  

IntervalAction 有一些很有趣的屬性

它們可以通過時間改變來進行加速

  1. EaseIn   
  2. EaseOut   
  3. EaseInOut   
  4. Speed   
  5. Etc. (See the EaseActionsTest.m example for more info)  

所有相對的動作(以By結尾的)和一些絕對的動作(以 To結尾的)都有一個翻轉的動作,執行了一個相反方向的操作。 你可以使用pause/resume 來停止和恢復action

  1.  # Pause actions  
  2. [[ActionManager sharedManager ] pauseAllActionsForTarget:sprite ] ;  
  3.  
  4. # resume actions  
  5. [[ActionManager sharedManager ] resumeAllActionsForTarget:sprite ] ;  

以下的每一個動作,除了極為簡單的,我都會加入一個簡單的事例,以及描述下將會發生的情況。畢竟,都是物體移動,簡單上圖片,很難表示清楚究竟發生了什么。尤其是那個jump函數。

簡單應用,對一個box精靈進行移動測試:

  1.  -(id)init{  
  2.     self = [super init];  
  3.     if(nil!=self){  
  4.         isTouchEnabled = YES;  
  5.         boxSprite = [Sprite spriteWithFile:@"box.png"];  
  6.         [boxSprite setPosition:CGPointMake(25, 25)];  
  7.         [self addChild:boxSprite];  
  8.     }  
  9.  
  10.     return self;  
  11. }  
  12.  
  13. - (BOOL) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *) event  
  14. {  
  15.     UITouch *touch = [touches anyObject];  
  16.     CGPoint point = [touch locationInView: [touch view]];  
  17.     //動作的定義  
  18.     //position  
  19.     //MoveBy  
  20.     id moveByAction = [MoveBy actionWithDuration:2 position:ccp(30,50)];  
  21.     //動作的執行  
  22.     [boxSprite runAction:rotateByAction];  
  23.     return YES;  
  24. }  

基本的Actions

位置

  1. MoveBy   
  2. MoveTo   
  3. JumpBy   
  4. JumpTo   
  5. BezierBy   
  6. Place  

放大縮小

  1. ScaleBy   
  2. ScaleTo  

旋轉

  1. RotateBy   
  2. RotateTo  

顯示狀態

  1. Show   
  2. Hide   
  3. Blink   
  4. ToggleVisibility  

透明度

  1. FadeIn   
  2. FadeOut   
  3. FadeTo   
  4. RGB  
  5. TintBy   
  6. TintTo  

例子

有些動作,還是需要自己實現了才知道函數是怎么個意思,對于e文的api,不如普通的那種順利,大多都是些C#里面少使用的東西。有些陌生。

  1. //MoveBy  
  2. moveByAction = [MoveBy actionWithDuration:2 position:ccp(30,50)];  

每次執行,相應精靈位置x,y增加30,和50,時間是2秒之內,移動方式,緩慢移動

  1. //MoveTo  
  2. id moveToAction = [MoveTo actionWithDuration:3 position:[[Director sharedDirector]convertCoordinate:point]];  

每次執行,相應精靈移動到觸摸位置,3秒之內,移動過去

  1. //JumpBy  
  2. jumpByAction = [JumpBy actionWithDuration:3 position:ccp(100,100) height:20 jumps:20];  

每次執行,在3秒之內,相對移動100,100,移動方式,以20作為跳躍高度,3秒之內,20次跳躍

  1. //JumpTo  
  2. jumpToAction = [JumpTo actionWithDuration:3 position:ccp(100,100) height:20 jumps:20];  

使用方式,同上。不同的是移動到100,100

  1. //BezierBy  
  2. bezierByAction = [BezierBy actionWithSize:2];   
  3. //ScaleBy  
  4. scaleByAction = [ScaleBy actionWithDuration:3 scaleX:0.5 scaleY:0.5];  

每次執行,3秒之內,精靈逐漸變為原來長寬的一半

  1. //ScaleTo  
  2. scaleToAction = [ScaleTo actionWithDuration:3 scaleX:0.4 scaleY:0.5];   
  3. //RotateBy  
  4. rotateByAction = [RotateBy actionWithDuration:3 angle:30.0];  

3秒之內,逐漸向右旋轉30度。

  1.      //RotateTo  
  2. id rotateToAction = [RotateTo actionWithDuration:3 angle:30.0];   
  3.  
  4. CGSize s = [[Director sharedDirector] winSize];  
  5.  
  6. id actionTo = [MoveTo actionWithDuration: 2 position:ccp(s.width-40, s.height-40)];  
  7. id actionBy = [MoveBy actionWithDuration:2  position: ccp(80,80)];  
  8.  
  9. [sprite1 runAction: actionTo];  
  10. [sprite2 runAction:actionBy];  

回滾Actions

基本上都是以"reverse"開頭的方法。就是實現某個Action的相反的動作。

  1. id move = [MoveBy actionWithDuration:2  position: ccp(80,80)];  
  2. id move_reverse = [move reverse]; 

上面的move_reverse Action是指將MoveBy Action在2秒鐘移動到ccp(-80,-80)的位置。

小結:iPhone游戲開發之Cocos2dActions介紹的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-11 14:22:47

iPhone游戲Cocos2D

2011-08-04 17:01:16

iPhone游戲開發 Cocos2d

2011-07-27 13:57:36

iPhone 游戲 Cocos2d

2011-07-27 17:07:06

iPhone 游戲 Cocos2d

2011-07-27 10:13:23

Cocos2D iPhone

2011-08-09 16:08:58

IOS游戲Cocos2d

2011-07-20 14:04:46

Cocos2d iPhone 游戲

2012-04-16 13:37:57

cocos2d

2011-07-27 14:48:21

iPhone Cocos2D 坐標

2011-08-08 11:26:39

Cocos2d 游戲 Class類

2011-08-22 10:49:42

Cocos2d 開發CCLayerTouch事件

2011-08-11 18:00:18

Cocos2d動作Action

2012-02-19 20:10:23

Cocos2d-x fCocos2dWindows Pho

2012-06-01 10:27:44

Cocos2d觸摸分發原理

2011-08-11 17:52:01

Cocos2d游戲對象

2011-07-08 16:27:52

Cocoa Cocos2d 動作

2011-08-02 15:37:48

Cocos2D UIAccelero

2011-08-08 15:40:47

Cocos2d

2011-07-08 16:09:54

Cocoa Cocos2d 動作

2011-08-08 17:17:55

Cocos2D 坐標 OpenglES
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品综合 | 国产精品视频免费观看 | 中文字幕日韩一区 | 日本成人中文字幕在线观看 | 国产精品久久久久久久久久久久 | 午夜精品久久久久久久 | 精精国产xxxx视频在线 | 黄色在线免费观看 | 午夜在线影院 | 天天久久| 国产在线精品一区二区三区 | 欧美一卡二卡在线 | 99亚洲精品 | 久久久国产一区二区三区四区小说 | 东京av男人的天堂 | 99免费精品视频 | 91精品国产日韩91久久久久久 | 精品少妇一区二区三区在线播放 | 欧美日韩免费一区二区三区 | 成人福利网站 | 欧美精品网站 | 澳门永久av免费网站 | 国产丝袜av| 亚洲精品99久久久久久 | 一区中文字幕 | 日本在线精品视频 | 91久久久久久久 | 不卡的av在线 | 99在线国产| 亚洲视频在线看 | 日韩一区二区在线看 | 国产精品s色 | 国产免费高清 | 欧美日韩在线播放 | 91精品国产综合久久久久久 | 天堂视频免费 | 91网站在线看 | 毛片网站在线观看 | 国产亚洲精品综合一区 | 99久久婷婷国产综合精品电影 | 国产99久久久国产精品 |