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