Cocos2d xで簡単なゲームを作ってみよう!

20
Cocos2d-x簡単なゲームを作ってみよう! 株式会社TKS2 清水友晶

description

Cocos2d-xを用いて簡単なゲームを作ってみる

Transcript of Cocos2d xで簡単なゲームを作ってみよう!

Page 1: Cocos2d xで簡単なゲームを作ってみよう!

Cocos2d-xで簡単なゲームを作ってみよう!

株式会社TKS2 清水友晶

Page 2: Cocos2d xで簡単なゲームを作ってみよう!

清水 友晶(株)TKS2

スマートフォンアプリ開発iOS, Android, (Windows Phone 8)WebコンテンツTwitter: tks2shimizufacebook:http://www.facebook.com/doraemonsssslide share:http://www.slideshare.net/doraemonsss

2

Page 3: Cocos2d xで簡単なゲームを作ってみよう!

資料のダウンロードTKS2ホームページhttp://tks2.net

3

Page 4: Cocos2d xで簡単なゲームを作ってみよう!

目次ゲームの説明必要なクラスの説明ゲーム作成カードの配置カードのタップ時間表示ハイスコア表示ゲームのリトライ

4

19:30

20:2020:4021:0021:2021:40

Page 5: Cocos2d xで簡単なゲームを作ってみよう!

ゲームの説明1から25まで順番にタップするカードゲーム今回の対象はiPhone4を想定iPhoneシミュレータではiPhone(Retina 3.5inch)

5

Page 6: Cocos2d xで簡単なゲームを作ってみよう!

カードの配置に必要なクラスの説明CCSpriteクラス

create関数

setPosition関数

setTag関数

6

CCSprite* button = CCSprite::create("xxx.png");

button->setPosition(ccp(100,200));

button->setTag(10);

Page 7: Cocos2d xで簡単なゲームを作ってみよう!

カードの配置に便利なクラスの説明CCStringクラス

create関数

createWithFormat関数

7

CCString* string = CCString::create("xxxxxx");

CCString* string = CCString::createWithFormat( "frontside%02d.png", 10);

Page 8: Cocos2d xで簡単なゲームを作ってみよう!

カードのタップに必要なクラスの説明CCLayerクラス

setTouchEnabled関数

8

とすると、

this->setTouchEnabled(true);this->setTouchMode(kCCTouchesOneByOne);

Page 9: Cocos2d xで簡単なゲームを作ってみよう!

カードのタップに必要なクラスの説明

タップ時に次のイベントが発生するccTouchBegan関数ccTouchMoved関数ccTouchEnded関数ccTouchCancelled関数

マルチタップは別の関数9

Page 10: Cocos2d xで簡単なゲームを作ってみよう!

時間カウントに必要なクラスの説明CCNodeクラス

schedule関数

countTimer関数(関数名は任意)

10

this->schedule( schedule_selector( HelloWorld::countTimer));

voidHelloWorld::countTimer(float time) { gameTime += time;}

Page 11: Cocos2d xで簡単なゲームを作ってみよう!

時間カウントに必要なクラスの説明CCNodeクラス

unschedule関数

11

this->unschedule( schedule_selector( HelloWorld::countTimer));

Page 12: Cocos2d xで簡単なゲームを作ってみよう!

永続データに必要なクラスの説明CCUserDefaultクラス(シングルトン)

getFloatForKey関数

setFloatForKey関数flush関数

12

float hoge = CCUserDefault::sharedUserDefault()-> getFloatForKey("xxx", 0);

CCUserDefault::sharedUserDefault()-> setFloatForKey("xxx", 10.5f);CCUserDefault::sharedUserDefault()-> flush();

Page 13: Cocos2d xで簡単なゲームを作ってみよう!

ボタンの作成に必要なクラスの説明CCMenuItemFontクラス

create関数

CCMenuクラス

13

CCMenuItemFont* item = CCMenuItemFont::create( "xxx", this, menu_selector(HelloWorld::yyy));

CCMenu* menu = CCMenu::create(item, NULL);menu->setPosition(CCPointZero);this->addChild(menu);

Page 14: Cocos2d xで簡単なゲームを作ってみよう!

ゲームを作ってみよう!

まずはカードの配置20:20に解説

14

カードのダウンロードはhttp://tks2.net/other/cards.zip

Page 15: Cocos2d xで簡単なゲームを作ってみよう!

ここまでのコードカードの配置https://gist.github.com/4239354

次はカードのタップ20:40に解説

15

カードのダウンロードはhttp://tks2.net/other/cards.zip

Page 16: Cocos2d xで簡単なゲームを作ってみよう!

ここまでのコードカードのタップhttps://gist.github.com/4239351

次は時間表示21:00に解説

16

カードのダウンロードはhttp://tks2.net/other/cards.zip

Page 17: Cocos2d xで簡単なゲームを作ってみよう!

ここまでのコード時間表示https://gist.github.com/4239350

次はハイスコア表示21:20に解説

17

カードのダウンロードはhttp://tks2.net/other/cards.zip

Page 18: Cocos2d xで簡単なゲームを作ってみよう!

ここまでのコードハイスコア表示https://gist.github.com/4239338

次はゲームのリトライ21:40に解説

18

カードのダウンロードはhttp://tks2.net/other/cards.zip

Page 19: Cocos2d xで簡単なゲームを作ってみよう!

できあがりのコード

できあがりhttps://gist.github.com/4238817

19

Page 20: Cocos2d xで簡単なゲームを作ってみよう!

今後の予定

Cocos2d-xをもっとさわってみるCocos2d-xの拡張外部ツールの利用Box2Dの利用OSとの連携

20