Seasons.NET

ちょっとした技術ブログです

cocos2d 2.1 beta1, 2リリース

マイナーバージョンアップですが大きなアップデートであるcocos2d 2.1beta1,2がリリースされました。

割と短期間に1 → 2とリリースされたため、beta2の方を落としてみてください。

リリースノートはまとめて記載しています。

cocos2d-iphone v2.1 beta2 released | cocos2d for iPhone

 

以下、本家から抜粋

Highlights:

  • JavaScript bindings for cocos2d, Chipmunk and CocosBuilder Reader
    Cocos2d、Chipmuck, CocosBuilder ReaderのJavaScriptバインディング対応
  • Better physics support: PhysicsSprite and Debug Physics node
    PhysicsSpriteのサポート、デバッグ用のPhysics サポート
  • Improved physics templates (try the Chipmunk template)
    Physicsテンプレートの改善
  • Supports PVR v3 file format
    PVR v3ファイルフォーマットへの対応
  • Improved GL shader code
    OpenGL シェーダーコードの改善
  • New actions that mimics flash behavior: RotationalSkew
    RotationalSkewのサポート(ActionTestで確認可能) 
  • Fixes for iOS 6 (supports new auto-rotation without flicker)
    iOS 6における修正:new auto rotation のサポート 
  • Updated templates: Compatible with iPhone 5 Retina Display, and fixes in Mac templates
    iPhone 5 retina display, Mac版テンプレートの修正など含む 
  • LabelTTF works on Mac Retina Display
    LabelTTFがMac Retina Displayでも動作 

Full Changelog: CHANGELOG

cocos2d-iphone v2.1 is part if a bigger project to create multi platform games. Please read the cocos2d + JavaScript documentation for further info:

 

RotationSkewは、動作動画を撮影してみました。

 

cocos2d v2.1での大きな変更点は、なんといってもJavaScript Binding対応が行われたということでしょう。インストールすると付属のテンプレートから利用可能です。

 

iOSImpactのようなWebKitJavaScriptCoreをカスタマイズしたものではなく、Mozilla製のSpriderMonkeyというJavaScript VMを搭載し、javascriptインタプリタ処理して実行しています。

 

JavaScript Bindingのメリットは?

  1. JavaScriptだけでゲームの記述ができるようになる
  2. JavaScript -> JSB -> NativeCodeと言う形で最終的にNativeなcocos2dが実行されるのでパフォーマンスに優れている
  3. HTML5版をほぼ100%の互換性
  4. 自作cocos2dクラスなどの新しいAPIなども追加可能(詳細は後日まとめる予定)
  5. RetinaDisplay、iPhone 5にも対応
  6. CocosBuilderやパーティクルなども対応!iOS版と100%互換性
実際に少し触ってみましたが、想像以上に良い出来です。非常に嬉しいのは、JSで書いても最終的にcocos2dのクラスを直接呼び出すのでこれまでcocos2d-iphoneで書いていたコードがほとんど100%使えます。
 
JavaScriptでゲームが書けます!スマホでも動きます!
というのはこれまでいくつか見てきましたが、これまでのcocos2dの使い心地を残しつつ、javascriptでゲームが記述でき、且つRetinaDisplay, iPhone5の解像度にも対応。
 
個人的にはもう2Dゲームはこれで良いかもしれません。しかし、javascriptインタプリタで実行されるためパフォーマンスに優れているとはいえません。これについては、WWDC2012の時に作者と話をする機会があったためきいてみましたが、ゲームの種類に応じてobjc版とjs版を使い分けると良いそうです。