日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《Cocos2d 跨平台游戏开发指南(第2版)》一1.9 添加动作到精灵

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Cocos2d 跨平台游戏开发指南(第2版)》一1.9 添加动作到精灵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節書摘來異步社區《Cocos2d 跨平臺游戲開發指南(第2版)》一書中的第1章,第1.9節,作者: 【印度】Siddharth Shekar(謝卡)譯者: 武傳海 責編: 胡俊英,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。

1.9 添加動作到精靈

在前面的動畫制作中,我們已經學習了一些有關Actions的內容。除此之外,Cocos2d中還有更多動作供你使用。并且,你也可以把多種動作組成一個動作序列,集中應用到目標對象上。

1.9.1 準備工作

首先,讓我們一起看一個簡單的動作,它用來把hero沿著x軸移動屏幕寬度的一半,并沿y軸方向從中心向下移動屏幕高度的四分之一。

1.9.2 操作步驟

在把hero添加到MainScene之后,在MainScene.m文件中添加如下代碼:

CGPointfinalPos = CGPointMake(center.x + winSize.width/4, center.y - winSize.height/4); CCActionFiniteTime* actionMove = [CCActionMoveToactionWithDuration :1.0position:finalPos]; [herorunAction:actionMove];

為了方便起見,我創建了一個CGPoint,命名為finalPos,用來存儲最終位置。然后,創建一個CCActionFiniteTime類型的變量actionMove,調用CCMoveTo函數,指定動作的持續時間為1.0秒,并且給出想把hero移動到的目的位置。最后,調用hero的runAction函數,傳入創建好的動作。

1.9.3 工作原理

當你運行項目時,hero起初位于黃色渲染精靈的左側,而后慢慢開始向右下角移動,(注:原文中if the render sprite is over a period of 1second一句,建議刪除,因為并未對render精靈施加動作,它是一直存在的)經過1秒之后,hero到達目標位置,移動動作停止,hero將再次靜止不動,如圖1-25所示。


1.9.4 更多內容

接下來,讓我們創建更多動作,然后把這些動作放入一個動作序列中,依次執行這些動作。為此,我們將添加如下代碼,替換掉之前的動作代碼:

//ActionsCGPointinitPos = hero.position; CGPointfinalPos = CGPointMake(center.x + winSize.width/4, center.y - winSize.height/4);CCActionFiniteTime* actionMove = [CCActionMoveToactionWithDuration: 1.0position:finalPos];CCAction *rotateBy = [CCActionRotateByactionWithDuration:2.0 angle: 180];CCAction *tintTo= [CCActionTintToactionWithDuration:1.0 color:[CCColorcolorWithRed:0.0fgreen:1.0blue:0.0]];CCAction *delay = [CCActionDelayactionWithDuration:1.0];CCAction *moveToInit = [CCActionMoveToactionWithDuration: 1.0position:initPos];CCAction *rotateBack = [CCActionRotateByactionWithDuration:2.0 angle: 180];CCAction *tintBlue= [CCActionTintToactionWithDuration:1.0 color:[CCColorcolorWithRed:0.0fgreen:0.0blue:1.0]];CCAction *sequence = [CCActionSequenceactions:actionMove, rotateBy,tintTo, moveToInit, delay, rotateBack, tintBlue, nil];[herorunAction:sequence];

在上面代碼中,在把最終位置保存到finalPos變量之后,我又把hero的初始位置保存到名稱為initPos的CGPoint類型變量中,后面我們會用到它。

第一個動作是moveTo動作,用來把角色移動到指定的位置。

接著,我們將使用rotateBy動作,對角色進行旋轉,并指定持續時間與旋轉角度。

隨后,我們會使用tintTo動作,它用來改變角色對象的顏色,并再次給出持續時間與想改變的顏色。本示例中,我們把角色的顏色更改為綠色。

然后,我們調用延時動作,用來在執行下一個動作之前暫停一段時間。在示例中,我們把延時時間設置為1秒。

接下來,我們要把角色對象移動到最初位置,改變對象顏色為藍色,再次把對象旋轉180度。

然后,創建CCSequence動作,把所有動作放入其中,以便依次播放這些動作。動作添加完之后,再添加一個nil,表示動作列表結束。

最后,我們調用hero的runAction函數,執行動作序列。

現在,人物角色將從起始位置開始執行一系列動作,當他返回起始位置時,將變為藍色。

代碼產生的效果如圖1-26所示。


《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的《Cocos2d 跨平台游戏开发指南(第2版)》一1.9 添加动作到精灵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一区二区三区在线播放无 | 动漫美女被吸奶 | 风韵多水的老熟妇 | 成人免费一级 | 日美毛片| 中文字幕日韩经典 | 我们好看的2018视频在线观看 | 麻豆changesxxx国产 | jizz欧美性23 | 亚洲日本中文 | 久久av无码精品人妻系列试探 | 免费日本在线 | 国产精品久久久久久免费 | 深夜国产视频 | 巨大乳の揉んで乳榨り奶水 | r级无码视频在线观看 | 国产成人一区二区三区 | 国产91国语对白在线 | av网站在线播放 | 97超碰在线资源 | 97国产在线播放 | 亚洲福利视频一区 | 黄色91免费观看 | 免费在线观看视频a | jizz俄罗斯| 国产午夜激情 | 久久中文字幕在线 | 精品乱码久久久久久中文字幕 | 国产欧美日本 | 91在线观看免费高清完整版在线观看 | 五月天色网站 | 天天干在线播放 | 亚洲国产成人综合 | 交专区videossex农村 | 亚洲国产欧美日韩 | 久久久三区| 精品一级少妇久久久久久久 | 免费看黄在线看 | 日韩免费在线视频 | 香蕉视频性| 中文在线а√天堂官网 | 91毛片网站 | 欧美一区二区视频在线观看 | 久久久av一区二区三区 | 成人在线观看18 | 少妇裸体淫交视频免费看高清 | 天天做天天爱天天操 | 亚洲在线免费视频 | 青青草华人在线视频 | 色婷婷麻豆 | 91福利在线免费观看 | 在线观看入口 | 法国伦理少妇愉情 | 黄色大片一级片 | 免费高清欧美大片在线观看 | 久久久久久91香蕉国产 | 丰满人妻一区二区三区四区 | 一区二区在线观看免费视频 | 日日夜夜操视频 | www.男女| 亚洲成年网站 | 色狠狠一区二区三区 | av片在线看 | 久久国产色av免费观看 | 国产超碰人人 | 在线日韩免费 | 日韩av无码一区二区三区不卡 | ww成人| 亚洲欧洲免费 | 老熟女一区二区三区 | 91春色| 爱情岛av永久入口 | 亚洲大尺度在线观看 | 美女被男生免费视频 | 久久婷婷国产麻豆91天堂 | 一区二区av | 99精品视频一区二区三区 | 性欧美18一19性猛交 | 黄色精品视频在线观看 | 97人妻精品一区二区三区免 | 青青草青青操 | 日韩在线国产 | 很黄很色的视频 | 少妇高潮毛片色欲ava片 | 午夜在线不卡 | 亚洲综合一区在线 | 日韩精选av | a天堂在线观看 | 18一20岁毛毛片 | 中文字幕av在线免费 | 国产高潮又爽又无遮挡又免费 | 亚洲精品尤物 | www国产在线 | 啪啪小视频 | 中文字幕中文在线 | 在线免费日韩av | 中文字幕一区二 | av女优天堂在线观看 | 精品少妇人妻av免费久久久 |