SlideShare a Scribd company logo
1 of 9
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

Similar to Cocos2d

cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島Tomoaki Shimizu
 
Cocos2d xをさわってみよう!
Cocos2d xをさわってみよう!Cocos2d xをさわってみよう!
Cocos2d xをさわってみよう!Tomoaki Shimizu
 
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋Tomoaki Shimizu
 
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールcocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールTomoaki Shimizu
 
Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05Yasuhiro Matsuda
 
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!Nishida Kansuke
 
CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Tomoaki Shimizu
 
実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門Chukong Technologies Japan
 
Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島Tomoaki Shimizu
 
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Tomoaki Shimizu
 
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Tomoaki Shimizu
 
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門Kohki Miki
 
cocos2d-xとCocosBuilder
cocos2d-xとCocosBuildercocos2d-xとCocosBuilder
cocos2d-xとCocosBuilderTomoaki Shimizu
 
Cocos2d-xハンズオン#1 in 大阪
Cocos2d-xハンズオン#1 in 大阪Cocos2d-xハンズオン#1 in 大阪
Cocos2d-xハンズオン#1 in 大阪Shingo Yamano
 
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Tomoaki Shimizu
 
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!Tomoaki Shimizu
 

Similar to Cocos2d (20)

cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島
 
Cocos2d xをさわってみよう!
Cocos2d xをさわってみよう!Cocos2d xをさわってみよう!
Cocos2d xをさわってみよう!
 
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋
 
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールcocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツール
 
Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05
 
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
 
CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方
 
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
 
Cocosサービスについて
CocosサービスについてCocosサービスについて
Cocosサービスについて
 
Cocos2d-xハンズオンセミナー
Cocos2d-xハンズオンセミナーCocos2d-xハンズオンセミナー
Cocos2d-xハンズオンセミナー
 
実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門
 
Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島
 
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!
 
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
 
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
 
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
 
cocos2d-xとCocosBuilder
cocos2d-xとCocosBuildercocos2d-xとCocosBuilder
cocos2d-xとCocosBuilder
 
Cocos2d-xハンズオン#1 in 大阪
Cocos2d-xハンズオン#1 in 大阪Cocos2d-xハンズオン#1 in 大阪
Cocos2d-xハンズオン#1 in 大阪
 
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
 
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
 

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