SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Cocos2d-xで
画像周りを自由自在に
  表示してみよう
   株式会社TKS2 清水友晶
清水 友晶
—  株式会社TKS2
  スマートフォンアプリ開発
  (iOS, Android, Windows Phone 8)
  Webコンテンツ開発
—  Cocos2d-xへの開発参加
  Cocos2d-xを利用したアプリ開発
  講演活動
  執筆活動

—  Twitter: tks2shimizu
—  Blog: http://tks2.net/memo
—  SlideShare: http://www.slideshare.net/doraemonsss
—  Facebook: http://www.facebook.com/doraemonsss
おやこでスマほん
—  株式会社スマートエデュケーション
今日やること
—  100匹のネコ (いろんなネコの表示)
 —  Texture Atlas
 —  非同期読込み
—  1000匹のネコ (同じネコの表示)
 —  CCSpriteBatchNode
—  パーティクル
—  ラベルの画像化
準備
—  画像をダウンロード
 http://tks2.net/cats.zip

—  プロジェクトの作成
—  Resourcesディレクトリに画像を追加
—  Xcode上でResourcesに画像を読込む
キャラクターの表示
—  CCSpriteクラス

 CCSprite* pSprite =
        CCSprite::create( cat00.png");
 pSprite->setPosition(ccp(200, 100));
 this->addChild(pSprite);

—  簡単に表示できるけど、実は処理が重い
—  ちょっとした工夫でパフォーマンスアップ
100匹のネコ (1)CCSprite
—  CCSpriteを利用していろんなネコ100匹を描画
—  ソース
  https://gist.github.com/4523769

—  HelloWorldScene.h
  HelloWorldScene.cpp
  を編集して下さい。
100匹のネコ (1)CCSprite




—  iPadで実行するとinit関数終了までに1.77秒
—  Android端末でSDカードから読込む場合は更に…
100匹のネコ (2)Texture Atlas
—  Texture Atlasを利用していろんなネコ100匹を描画
—  ソース
  https://gist.github.com/4523786

—  HelloWorldScene.h
  HelloWorldScene.cpp
  を編集して下さい。

—  Texture Atlasの作成
  —  Zwoptex (¥1,381 お試し可)
  —  TexturePacker (¥2,758)
100匹のネコ (2)Texture Atlas




—  iPadで実行するとinit関数終了までに1.11秒
—  Texture Atlasを利用することで読込み∼表示の速度が1.6倍
100匹のネコ (3)非同期読込
—  非同期読込を利用していろんなネコ100匹を描画
—  ソース
  https://gist.github.com/4523792

—  HelloWorldScene.h
  HelloWorldScene.cpp
  を編集して下さい。

—  より実用的な方法は、キャラクタ用のクラスを作成し
  そのインスタンスから非同期でテクスチャを読込むと
  良い
100匹のネコ (3)非同期読込




—  iPadで実行するとinit関数終了までに0.58秒
—  全画像の表示処理終了まで2.37秒
—  キャラクタが多少遅れて表示されても良い場合はかなり有効
100匹のネコ (4)TA非同期読込
—  Texture Atlas画像を非同期読込でいろんなネコ100匹
  を描画

—  ソース
  https://gist.github.com/4524231

—  HelloWorldScene.h
  HelloWorldScene.cpp
  を編集して下さい。

—  このソースコードはテスト用です。コピペは危険ですの
  で、画像読込みのクラスを用意する等、正しい方法で
  使用して下さい。
100匹のネコ (4)TA非同期読込




—  iPadで実行するとinit関数終了までに0.21秒
—  全画像の表示処理終了まで1.37秒
—  少しでも早く画面遷移を行いたいときは有効
1000匹のネコ (1)CCSprite
—  CCSpriteを利用して同じネコ1000匹を描画
—  ソース
  https://gist.github.com/4524293

—  HelloWorldScene.h
  HelloWorldScene.cpp
  を編集して下さい。
1000匹のネコ (1)CCSprite




—  iPadで実行するとinit関数終了までに0.63秒
—  同じ画像なのでいろんなネコ100匹よりは早いけど…
1000匹のネコ
    (2)CCSpriteBatchNode
—  CCSpriteを利用して同じネコ1000匹を描画
—  ソース
  https://gist.github.com/4524325

—  HelloWorldScene.h
  HelloWorldScene.cpp
  を編集して下さい。
1000匹のネコ
    (2)CCSpriteBatchNode




—  iPadで実行するとinit関数終了までに0.06秒
—  CCSpriteBatchNode利用で読込み∼表示の速度が10倍
パーティクル
—  パーティクルってむずかしそう…
—  そうなんです。
—  設定がいっぱい必要なので
 むずかしいです。

—  Cocos2d-xのサンプルでも
 右のような感じです…
パーティクル
—  でもGUIツールのおかげでかんたんなんです。
—      ParticleDesigner (¥659)

—  たった3行でパーティクルを表示できます。
—  ソース
      https://gist.github.com/4524527

—  HelloWorldScene.h
      HelloWorldScene.cpp
      を編集して下さい。
パーティクル




—  非常に簡単に利用できるが、負荷が掛かり過ぎる場合がある
 ので、パーティクルの出力には注意!
ラベルの表示
—  CCLabelTTFクラス

 CCLabelTTF* label =
       CCLabelTTF::create("Hello World", "", 96);
 label->setPosition(ccp(200, 100));
 this->addChild(label);

—  フォントがシンプルすぎる…
—  フォントサイズをOS・機種毎に変更する必要がある
ラベルの画像化
—  CCLabelBMFontクラス
—  ソース
      https://gist.github.com/4524796



—     GlyphDesigner (¥2,472)

—  色変更・グラデーション・シャドウ・縁取り等ができる
ラベルの画像化




—  OS・機種が異なっても表示は同じ
—  日本語も可能だが、都度文字の追加が必要
おわり
—  次回、ツールを紹介しつつゲームを作ります!!
—  ありがとうございました。

Más contenido relacionado

La actualidad más candente

cocos2d-x開発事例勉強会
cocos2d-x開発事例勉強会cocos2d-x開発事例勉強会
cocos2d-x開発事例勉強会
Tomoaki Shimizu
 
Cocos2d xをさわってみよう!
Cocos2d xをさわってみよう!Cocos2d xをさわってみよう!
Cocos2d xをさわってみよう!
Tomoaki Shimizu
 
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
Tomoaki Shimizu
 

La actualidad más candente (20)

Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島
 
cocos2d-x開発事例勉強会
cocos2d-x開発事例勉強会cocos2d-x開発事例勉強会
cocos2d-x開発事例勉強会
 
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
 
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
 
cocos2d-xとspine
cocos2d-xとspinecocos2d-xとspine
cocos2d-xとspine
 
cocos2d-xのサーバ連携について
cocos2d-xのサーバ連携についてcocos2d-xのサーバ連携について
cocos2d-xのサーバ連携について
 
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!
 
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
 
Cocos2d xをさわってみよう!
Cocos2d xをさわってみよう!Cocos2d xをさわってみよう!
Cocos2d xをさわってみよう!
 
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSBCocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSB
 
Cocos2d xのススメ
Cocos2d xのススメCocos2d xのススメ
Cocos2d xのススメ
 
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
 
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
 
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
 
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
 
CocoStudioとcocos2d-xの連携2
CocoStudioとcocos2d-xの連携2CocoStudioとcocos2d-xの連携2
CocoStudioとcocos2d-xの連携2
 
cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用
 
実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門
 
cocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDEcocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDE
 
cocos2d-xのいろいろなオブジェクトの利用
cocos2d-xのいろいろなオブジェクトの利用cocos2d-xのいろいろなオブジェクトの利用
cocos2d-xのいろいろなオブジェクトの利用
 

Destacado (6)

cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携
 
cocos2d-xとCocosBuilderでゲームを作ってみよう
cocos2d-xとCocosBuilderでゲームを作ってみようcocos2d-xとCocosBuilderでゲームを作ってみよう
cocos2d-xとCocosBuilderでゲームを作ってみよう
 
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋
 
cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島
 
CocoStudioの紹介
CocoStudioの紹介CocoStudioの紹介
CocoStudioの紹介
 
Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!
 

Similar a Cocos2d-xで画像周りを自由自在に表示してみよう

cocos2d-xとCocosBuilder
cocos2d-xとCocosBuildercocos2d-xとCocosBuilder
cocos2d-xとCocosBuilder
Tomoaki Shimizu
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
Yoshiki Shibukawa
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
Naruto TAKAHASHI
 

Similar a Cocos2d-xで画像周りを自由自在に表示してみよう (20)

cocos2d-xとCocosBuilder
cocos2d-xとCocosBuildercocos2d-xとCocosBuilder
cocos2d-xとCocosBuilder
 
かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介
 
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
 
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
 
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
MUGT02 - vamp demo
MUGT02 - vamp demoMUGT02 - vamp demo
MUGT02 - vamp demo
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
 
Dockerクイックツアー
DockerクイックツアーDockerクイックツアー
Dockerクイックツアー
 
Cocos Code IDEを使ってみた
Cocos Code IDEを使ってみたCocos Code IDEを使ってみた
Cocos Code IDEを使ってみた
 
2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤
 
CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方
 
cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
 
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
 
Cocos最新情報(2015/6/30)
Cocos最新情報(2015/6/30)Cocos最新情報(2015/6/30)
Cocos最新情報(2015/6/30)
 
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
 
【Techbuzz】titanium資料
【Techbuzz】titanium資料【Techbuzz】titanium資料
【Techbuzz】titanium資料
 
Cocos2dx 8hour
Cocos2dx 8hourCocos2dx 8hour
Cocos2dx 8hour
 
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
 

Más de Tomoaki Shimizu

Más de Tomoaki Shimizu (16)

Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
 
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」
 
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
 
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
 
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
 
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
 
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
 
Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介
 
Cocos2d-x 3D Extension
Cocos2d-x 3D ExtensionCocos2d-x 3D Extension
Cocos2d-x 3D Extension
 
タワーオブスペルズ x cocos2d-x
タワーオブスペルズ x cocos2d-xタワーオブスペルズ x cocos2d-x
タワーオブスペルズ x cocos2d-x
 
cocos2d-xで利用できる暗号化
cocos2d-xで利用できる暗号化cocos2d-xで利用できる暗号化
cocos2d-xで利用できる暗号化
 
cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用
 
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築についてMacでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
 
cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成
 
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築についてMacでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
 
cocos2d-xにおけるデータ管理
cocos2d-xにおけるデータ管理cocos2d-xにおけるデータ管理
cocos2d-xにおけるデータ管理
 

Último

Último (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Cocos2d-xで画像周りを自由自在に表示してみよう