Cocos2d
- 2. Cocos2d とは
Cocos2d for iPhone の主機能
Cocos2d for iPhone の導入
基本構造
実装例
座標のお話し
More Information
2
- 3. Objective-C ベースの D ゲーム開発 SDK
ネイティブコード利用可能
オープンソースとしての提供
LGPL ライセンスを採用
ゲーム開発に必要な環境
OpenGL ES ベースなので高速に動作
物理エンジンとの連携 – Chipmunk / box2d
※ Chipmunk = C / box2d = C++
3
- 4. 主な機能
画面管理 音制御 マップサポート
トランジション ボタン、メニュー 加速度センサー
パーティクル
エフェクト 物理エンジン システム
アクション / トラン テキスト
スフォーメーション レンダリング
テクスチャ
アクションの連結
アトラス
4
- 5. a. Cocos2d のダウンロード
b. 同梱のシェルファイルをキック
c. XCode で cocos2d 用テンプレート選択可
能
Cocos2d stand alone template.
Cocos2d + box2d template.
Cocos2d + chipmunk template.
5
- 6. 画面管理、ゲーム停止・再開など
CCDirector
画面。 Top 画面、ゲーム画面、ヘルプ画面など
CCScene CCScene … CCNode
タッチ検出やスプライト管理
CCScene 、
CCLayer 、
CCSprite は
CCNode を継承
CCLayer CCLayer …
キャラクターやタイトルなどのオブジェクト
CCSprite CCSprite …
6
- 7. // シーンを指定して画面を生成
CCScene [[CCDirector sharedDirector] replaceScene: [GameLayer scene]];
// ↑ CCLayer のクラスメソッドで、自 Layer をベースとした scene を生成でき
CCLayer る
// テクスチャーに使用する画像を指定してスプライトを生成
CCSprite CCSprite *seeker1 = [CCSprite spriteWithFile: @"seeker.png"];
seeker1.position = ccp( 50, 100 );
[self addChild:seeker1];
// タップ時にコールされるセレクタを設定してメニューボタンを追加
CCMenuItem *item1 = [CCMenuItemFont itemFromString: @"GameLayer"
target: self
selector:@selector(onItemClick:)];
CCMenu *menu = [CCMenu menuWithItems:item1, nil];
menu.position = ccp( winSize.width/2, winSize.height/2);
[menu alignItemsVertically];
CCMenu [self addChild:menu];
- (void)onItemClick(id)sender{
[seeker1 runAction[CCMoveTo actionWithDuration:3.0f position:postion]
}
7
- 8. Cocos2d は左下基準のデカルト座標
( 0, 0 )
iOS cocos2d
( 0, 0 )
8
- 9. Stable Version is 2.0 and 1.0.1
2.0⇒Retina/Open GL ES2.0/New Transition etc
Cocos2d for Android も存在
Goolge Code にて開発中
Cocos2d x http://www.cocos2d-x.org/
C++ ベースのクロスプラットフォーム FW
9