SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Cocos2d-X Tips
   Matsuura@syuhari
Agenda
•   テクスチャ

•   PVR

•   CCSpriteBatchNode

•   マルチスレッド処理

•   サブスレッドでテクスチャをロード

•   SQLite3
テクスチャ
テクスチャ
• 複数の画像で構成される1枚の画像
• plist により元の画像の位置を指定
• png , plist が対になっている
• 画像サイズは 2の累乗
• Texture Packer
PVR
• 展開せずにメモリにロード
• 読み込みが早い
• メモリ使用量が少ない
• 非圧縮のため png より画像は大きくなる
• GPU の対応が必要なため iOS のみ
CCSpriteBatchNode
• 大量の CCSprite を高速に描画できる
• リズムタップでは音符画像に使用
CCSpriteBatchNode* batchNode =
     CCSpriteBatchNode::batchNodeWithFile("texture.png");
this->addChild(batchNode, 0);

CCSprite* sprite =
     CCSprite::spriteWithSpriteFrameName("sprite.png");
batchNode->addChild(sprite);
マルチスレッド処理
• pthread を使用
• CCThread クラスで autorelease pool
 を作成する
void *SelectScene::preparePlay(void *ptr) {
    CCThread thread;
    thread.createAutoreleasePool();

    SelectScene* scene = (SelectScene*)ptr;

    // prepare play
    MusicManager::sharedObject()->prepareMusicPlay();

    // load texture
    ThemeManager::sharedObject()->loadThemeTexture();

    scene->isPreparePlay = false;

    return NULL;
}
サブスレッドでテクスチャをロード

•   サブスレッドでロードすると画像が読み込ま
    れない

•   CCTextureCache::addImageAsync クラスを使
    用してテクスチャの画像をロード

•   コールバック関数で画像ロード後にテクス
    チャをロードする
SQLite
 • SQLite のソースをプロジェクトに追加
 • #include “sqlite.h”
 • sqlite_open, sqlite_close... api

http://www.cocos2d-x.org/boards/6/topics/7006

Weitere ähnliche Inhalte

Was ist angesagt?

Webサーバの性能測定
Webサーバの性能測定Webサーバの性能測定
Webサーバの性能測定Ryo Maruyama
 
60分でつかった気になるMicrosoft Azure
60分でつかった気になるMicrosoft Azure 60分でつかった気になるMicrosoft Azure
60分でつかった気になるMicrosoft Azure Kazumi Hirose
 
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法Kiyoshi Sawada
 
JavaOne報告会 LT資料
JavaOne報告会 LT資料 JavaOne報告会 LT資料
JavaOne報告会 LT資料 g3akk
 
エコなWebサーバー
エコなWebサーバーエコなWebサーバー
エコなWebサーバーemasaka
 
サイト制作(Nuxt.js)学習実施要項
サイト制作(Nuxt.js)学習実施要項サイト制作(Nuxt.js)学習実施要項
サイト制作(Nuxt.js)学習実施要項IIHARA HODAKA
 
azure botserviceをもっと身近に
azure botserviceをもっと身近にazure botserviceをもっと身近に
azure botserviceをもっと身近に裕之 木下
 
JavaScriptで加速度・回転情報を取得してみた
JavaScriptで加速度・回転情報を取得してみたJavaScriptで加速度・回転情報を取得してみた
JavaScriptで加速度・回転情報を取得してみたiPride Co., Ltd.
 
BMXUG つきじ#4
BMXUG つきじ#4BMXUG つきじ#4
BMXUG つきじ#4K Kimura
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouchYohei Sasaki
 
MongoDBCSharp
MongoDBCSharpMongoDBCSharp
MongoDBCSharpytanno
 
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012Tatsuhiko Kubo
 
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroRancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroYosuke Shindo
 
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみたK Kimura
 

Was ist angesagt? (19)

Webサーバの性能測定
Webサーバの性能測定Webサーバの性能測定
Webサーバの性能測定
 
Mongoざっくり紹介
Mongoざっくり紹介Mongoざっくり紹介
Mongoざっくり紹介
 
60分でつかった気になるMicrosoft Azure
60分でつかった気になるMicrosoft Azure 60分でつかった気になるMicrosoft Azure
60分でつかった気になるMicrosoft Azure
 
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
 
20110205.linux 0.01
20110205.linux 0.0120110205.linux 0.01
20110205.linux 0.01
 
20120518 SE勉強会
20120518 SE勉強会20120518 SE勉強会
20120518 SE勉強会
 
JavaOne報告会 LT資料
JavaOne報告会 LT資料 JavaOne報告会 LT資料
JavaOne報告会 LT資料
 
Windows Azure Community Open Day 2012
Windows Azure   Community Open Day 2012Windows Azure   Community Open Day 2012
Windows Azure Community Open Day 2012
 
エコなWebサーバー
エコなWebサーバーエコなWebサーバー
エコなWebサーバー
 
サイト制作(Nuxt.js)学習実施要項
サイト制作(Nuxt.js)学習実施要項サイト制作(Nuxt.js)学習実施要項
サイト制作(Nuxt.js)学習実施要項
 
azure botserviceをもっと身近に
azure botserviceをもっと身近にazure botserviceをもっと身近に
azure botserviceをもっと身近に
 
JavaScriptで加速度・回転情報を取得してみた
JavaScriptで加速度・回転情報を取得してみたJavaScriptで加速度・回転情報を取得してみた
JavaScriptで加速度・回転情報を取得してみた
 
BMXUG つきじ#4
BMXUG つきじ#4BMXUG つきじ#4
BMXUG つきじ#4
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
MongoDBCSharp
MongoDBCSharpMongoDBCSharp
MongoDBCSharp
 
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012
 
Datalab and colaboratory
Datalab and colaboratoryDatalab and colaboratory
Datalab and colaboratory
 
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroRancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 Intro
 
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
 

Mehr von Akihiro Matsuura

Cocos2d-x Console @Cocos Talks #3
Cocos2d-x Console  @Cocos Talks #3Cocos2d-x Console  @Cocos Talks #3
Cocos2d-x Console @Cocos Talks #3Akihiro Matsuura
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーAkihiro Matsuura
 
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側Akihiro Matsuura
 
Cocos2dx Tips - Box2d, Normal mapping
Cocos2dx Tips - Box2d, Normal mappingCocos2dx Tips - Box2d, Normal mapping
Cocos2dx Tips - Box2d, Normal mappingAkihiro Matsuura
 
Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化Akihiro Matsuura
 
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからCocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからAkihiro Matsuura
 
SimpleAudioEngine のカスタマイズ
SimpleAudioEngine のカスタマイズSimpleAudioEngine のカスタマイズ
SimpleAudioEngine のカスタマイズAkihiro Matsuura
 
cocos2d-x 開発の効率化
cocos2d-x 開発の効率化cocos2d-x 開発の効率化
cocos2d-x 開発の効率化Akihiro Matsuura
 
What I talk about When I talk about Cocos2d-x
What I talk about When I talk about Cocos2d-xWhat I talk about When I talk about Cocos2d-x
What I talk about When I talk about Cocos2d-xAkihiro Matsuura
 

Mehr von Akihiro Matsuura (16)

SQLite の暗号化
SQLite の暗号化SQLite の暗号化
SQLite の暗号化
 
SQLite の暗号化
SQLite の暗号化SQLite の暗号化
SQLite の暗号化
 
Cocos2d-x Console @Cocos Talks #3
Cocos2d-x Console  @Cocos Talks #3Cocos2d-x Console  @Cocos Talks #3
Cocos2d-x Console @Cocos Talks #3
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
 
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
 
Cocos2dx Tips - Box2d, Normal mapping
Cocos2dx Tips - Box2d, Normal mappingCocos2dx Tips - Box2d, Normal mapping
Cocos2dx Tips - Box2d, Normal mapping
 
Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化
 
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからCocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
 
SimpleAudioEngine のカスタマイズ
SimpleAudioEngine のカスタマイズSimpleAudioEngine のカスタマイズ
SimpleAudioEngine のカスタマイズ
 
Yidev cocos2dx
Yidev cocos2dxYidev cocos2dx
Yidev cocos2dx
 
cocos2d-x 開発の効率化
cocos2d-x 開発の効率化cocos2d-x 開発の効率化
cocos2d-x 開発の効率化
 
What I talk about When I talk about Cocos2d-x
What I talk about When I talk about Cocos2d-xWhat I talk about When I talk about Cocos2d-x
What I talk about When I talk about Cocos2d-x
 
Cocos2dx 基本編
Cocos2dx 基本編Cocos2dx 基本編
Cocos2dx 基本編
 
Cocos2dx 勉強会
Cocos2dx 勉強会Cocos2dx 勉強会
Cocos2dx 勉強会
 
cocos2d で遊ぼう
cocos2d で遊ぼうcocos2d で遊ぼう
cocos2d で遊ぼう
 
CakePHP in iPhone App
CakePHP in iPhone AppCakePHP in iPhone App
CakePHP in iPhone App
 

Cocos2dx tips

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n