(译)使用cocos2d、LevelHelper和SpriteHelper实现疯狂考拉(Pa
PS:关于cocos2d国外有很多不错的教程网站,http://highoncoding.com/也是其中一个,看了他们8月17发的疯狂考拉教程,其实主要是用到了LevelHelper和SpriteHelper这两个工具,还有SneakyInput做的摇杆以及一点点的box2d,其实子龙山人很早之前也翻译过类的文
PS:关于cocos2d国外有很多不错的教程网站,http://highoncoding.com/也是其中一个,看了他们8月17发的疯狂考拉教程,其实主要是用到了LevelHelper和SpriteHelper这两个工具,还有SneakyInput做的摇杆以及一点点的box2d,其实子龙山人很早之前也翻译过类似的文章,不过我都忘了,自己尝试翻译了一下,重温这些工具的使用,郑重声明:由于本人英语水平比较烂,翻译水平有限,各位就凑合看吧!
http://highoncoding.com/Articles/868_Implementing_Kraazy_Koala_Using_Cocos2d__LevelHelper_and_SpriteHelper_Part__3.aspx
使用Joints悬挂猴子:(Hanging Monkey with Joints: )
猴子不只是坐在那里,他们倒挂在树木上或者像Tarzan那样在树枝上晃悠。借助joints的力量我们可以在我们的游戏中实现同样的效果。在LevelHelper创建joints是非常简单的。你只需要做的是选择要创建的joint的类型,然后选择其包含的bodies就行了!一个joint只能用于一个物理body。这意味着body精灵要么是静态的要么是动态的。尽管我们可以创建一个joint用于树和猴子之间,但在这里我们会使用不同的方法来实现。这里的block将是不可见的,所以它不会使我们的树难看。我们将在这篇文章中解释我们的做法的原因。
下面的屏幕截图显示了如何在block和猴子之间做一个joint。确保joint是静态的,猴子是动态的。
使用LevelHelper运行关卡,你会发现,现在的猴子从左至右晃悠很像...猴子。
注意:如果LevelHelper加载的不是您最近的更改,先关闭SceneTester,然后再次测试关卡。在SceneTester有一个bug,它不能获取最新的更变。
发射香蕉:(Shooting Bananas:)
目前,猴子是手无寸铁的,但这是改变的。我们将提供无限量的香蕉给猴子。香蕉在给定的时间间隔内扔出,这通过NSTimer类来安排实现,如在下面的代码所示:
[NSTimer scheduledTimerWithTimeInterval:8.0 target:self selector:@selector(throwBanana:) userInfo:nil repeats:YES];
以上代码每8秒触发一次throwBanana方法。 throwBanana方法实现如下:
-(void) throwBanana:(NSTimer *) timer { banana = [loader createSpriteWithName:@"fruit_banana_100" fromSheet:@"KoalaSheet" fromSHFile:@"KoalaSpriteHelper"]; banana.tag = BANANA; [banana transformPosition:CGPointMake(monkey.position.x - 100, monkey.position.y)]; banana.visible = TRUE; float randomXForce = ((arc4random() % 3) + 0.15) * -1; float randomYForce = ((arc4random() % 3) + 0.15) * 1; [banana body]->ApplyLinearImpulse(b2Vec2(randomXForce,randomYForce), banana.body->GetWorldCenter()); }
炸药:(Dynamites: )
菠萝杀不死一只猴子!我们需要炸药!在本节中,我们将用LevelHelper提供的路径选项创建一个炸药导火线。我们将把一个炸药放在树下,然后炸了猴子。
从精灵图标视图中拖拽炸药,并将其放置在树下。使用贝赛尔工具创建一条从考拉到炸药的路径,如下面的截图所示:
为了使贝塞尔有一个路径,只需在右窗格中选中该框。给贝塞尔取一个唯一的名称“DynamiteLine”。
这时我们已经制定了炸药导火线,接下来我们要点燃它。从精灵的资产视图中拖拽火花(火)精灵,并把它放在炸药导火线开始端的旁边。
“火”精灵路径被设置为沿着炸药导火线。设置“火”精灵属性,如下面的截图所示:
如果您在LevelHelper运行关卡,你会看到,火精灵开始沿着路径,当它到达终点时什么也没有发生。当火精灵到达路径的终点时我们需要触发某种形式的通知。这就是NSNotificationCenter的作用了。下面的代码实现了,使用NSNotificationCenter通知如何安排到达路径终点。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(firePathHasEnded:) name:LHPathMovementHasEndedNotification object:fire]; -(void)firePathHasEnded:(NSNotification*) notification { LHSprite *dynamite = [loader spriteWithUniqueName:@"dynamite"]; CCParticleExplosion *explosion = [[CCParticleExplosion alloc] init]; explosion.position = dynamite.position; [self addChild:explosion]; CCParticleFire *fire = [[CCParticleFire alloc] init]; fire.position = dynamite.position; [self addChild:fire]; [monkey removeAllAttachedJoints]; }
firePathHasEnded方法简单地实现了一些爆炸效果并确保猴子掉进燃烧的火海中!
下载代码:(Download Code: )
疯狂考拉的完整代码firePathHThe,可以通过以下链接从Github下载:
Kraazy Koala Source Code
总结:(Conclusion: )
在这三部分组成的教程系列中,我们学会了如何使用cocos2d LevelHelper,SpriteHelper和Kobold2d做一个完整的游戏。游戏涵盖了LevelHelper和SpriteHelper框架许多不同的方面。我们真的希望你喜欢这一系列教程。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

磁力連結是一種用於下載資源的連結方式,相較於傳統的下載方式更為便利和有效率。使用磁力連結可以透過點對點的方式下載資源,而不需要依賴中介伺服器。本文將介紹磁力連結的使用方法及注意事項。一、什麼是磁力連結磁力連結是一種基於P2P(Peer-to-Peer)協定的下載方式。透過磁力鏈接,使用者可以直接連接到資源的發布者,從而完成資源的共享和下載。與傳統的下載方式相比,磁

mdf檔案和mds檔案怎麼用隨著電腦科技的不斷進步,我們可以透過多種方式來儲存和共享資料。在數位媒體領域,我們經常會遇到一些特殊的文件格式。在這篇文章中,我們將討論一種常見的文件格式—mdf和mds文件,並介紹它們的使用方法。首先,我們需要了解mdf檔案和mds檔案的含義。 mdf是CD/DVD鏡像檔的副檔名,而mds檔則是mdf檔的元資料檔。

CrystalDiskMark是一款適用於硬碟的小型HDD基準測試工具,可快速測量順序和隨機讀取/寫入速度。接下來就讓小編為大家介紹一下CrystalDiskMark,以及crystaldiskmark如何使用吧~一、CrystalDiskMark介紹CrystalDiskMark是一款廣泛使用的磁碟效能測試工具,用於評估機械硬碟和固態硬碟(SSD)的讀取和寫入速度和隨機I/O性能。它是一款免費的Windows應用程序,並提供用戶友好的介面和各種測試模式來評估硬碟效能的不同方面,並被廣泛用於硬體評

foobar2000是一款能隨時收聽音樂資源的軟體,各種音樂無損音質帶給你,增強版本的音樂播放器,讓你得到更全更舒適的音樂體驗,它的設計理念是將電腦端的高級音頻播放器移植到手機上,提供更便捷高效的音樂播放體驗,介面設計簡潔明了易於使用它採用了極簡的設計風格,沒有過多的裝飾和繁瑣的操作能夠快速上手,同時還支持多種皮膚和主題,根據自己的喜好進行個性化設置,打造專屬的音樂播放器支援多種音訊格式的播放,它還支援音訊增益功能根據自己的聽力情況調整音量大小,避免過大的音量對聽力造成損害。接下來就讓小編為大

在如今雲端儲存已成為我們日常生活和工作中不可或缺的一部分。百度網盤作為國內領先的雲端儲存服務之一,憑藉其強大的儲存功能、高效的傳輸速度以及便捷的操作體驗,贏得了廣大用戶的青睞。而且無論你是想要備份重要文件、分享資料,還是在線上觀看影片、聽取音樂,百度網盤都能滿足你的需求。但很多用戶可能對百度網盤app的具體使用方法還不了解,那麼這篇教學就將為大家詳細介紹百度網盤app如何使用,還有疑惑的用戶們就快來跟著本文詳細了解一下吧!百度雲網盤怎麼用:一、安裝首先,下載並安裝百度雲軟體時,請選擇自訂安裝選

輕鬆上手:如何使用pip鏡像來源隨著Python在全球的普及,pip成為了Python套件管理的標準工具。然而,許多開發者在使用pip安裝套件時面臨的常見問題是速度慢。這是因為預設情況下,pip從Python官方來源或其他外部來源下載包,而這些來源可能位於海外伺服器,導致下載速度緩慢。為了提高下載速度,我們可以使用pip鏡像來源。什麼是pip鏡像來源?簡單來說,就

MetaMask(中文也叫小狐狸錢包)是一款免費的、廣受好評的加密錢包軟體。目前,BTCC已支援綁定MetaMask錢包,綁定後可使用MetaMask錢包進行快速登錄,儲值、買幣等,且首次綁定還可獲得20USDT體驗金。在BTCCMetaMask錢包教學中,我們將詳細介紹如何註冊和使用MetaMask,以及如何在BTCC綁定並使用小狐狸錢包。 MetaMask錢包是什麼? MetaMask小狐狸錢包擁有超過3,000萬用戶,是當今最受歡迎的加密貨幣錢包之一。它可免費使用,可作為擴充功能安裝在網絡

網易郵箱,作為中國網友廣泛使用的一種電子郵箱,一直以來以其穩定、高效的服務贏得了用戶的信賴。而網易信箱大師,則是專為手機使用者打造的信箱軟體,它大大簡化了郵件的收發流程,讓我們的郵件處理變得更加便利。那麼網易信箱大師該如何使用,具體又有哪些功能呢,下文中本站小編將為大家帶來詳細的內容介紹,希望能幫助到大家!首先,您可以在手機應用程式商店搜尋並下載網易信箱大師應用程式。在應用寶或百度手機助手中搜尋“網易郵箱大師”,然後按照提示進行安裝即可。下載安裝完成後,我們打開網易郵箱帳號並進行登錄,登入介面如下圖所示
