狠狠撸

狠狠撸Share a Scribd company logo
2012/7/24 Mobika,Inc
?   Cocos2d とは
?   Cocos2d for iPhone の主機能
?   Cocos2d for iPhone の導入
?   基本構造
?   実装例
?   座標のお話し
?   More Information


                              2
?   Objective-C ベースの D ゲーム開発 SDK
    ? ネイティブコード利用可能

?   オープンソースとしての提供
    ? LGPL ライセンスを採用

?   ゲーム開発に必要な環境
    ? OpenGL ES ベースなので高速に動作
    ? 物理エンジンとの連携 – Chipmunk / box2d
                           ※ Chipmunk = C / box2d = C++


                                                          3
?   主な機能
      画面管理       音制御      マップサポート


    トランジション    ボタン、メニュー   加速度センサー

                          パーティクル
     エフェクト      物理エンジン     システム

アクション / トラン      テキスト
スフォーメーション       レンダリング

                テクスチャ
    アクションの連結
                 アトラス
                                    4
a. Cocos2d のダウンロード
b. 同梱のシェルファイルをキック
c. XCode で cocos2d 用テンプレート選択可
   能
     ? Cocos2d stand alone template.
     ? Cocos2d + box2d template.
     ? Cocos2d + chipmunk template.



                                       5
画面管理、ゲーム停止?再開など
CCDirector
             画面。 Top 画面、ゲーム画面、ヘルプ画面など




CCScene        CCScene           …          CCNode
             タッチ検出やスプライト管理
                                        CCScene 、
                                        CCLayer 、
                                        CCSprite は
                                        CCNode を継承
 CCLayer       CCLayer           …
             キャラクターやタイトルなどのオブジェクト




CCSprite       CCSprite          …

                                                     6
// シーンを指定して画面を生成
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
?   Cocos2d は左下基準のデカルト座標
( 0, 0 )
           iOS              cocos2d




                 ( 0, 0 )
                                      8
?   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

More Related Content

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