Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Upcoming SlideShare
Loading in...5
×
 

Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから

on

  • 12,240 views

デブサミ2014 セション 13-C-1 発表資料

デブサミ2014 セション 13-C-1 発表資料

Statistics

Views

Total Views
12,240
Views on SlideShare
11,473
Embed Views
767

Actions

Likes
31
Downloads
70
Comments
0

10 Embeds 767

http://barikata.hateblo.jp 405
https://twitter.com 129
http://blog.syuhari.jp 99
http://frogegg.jp 92
http://takecian.com 17
https://cybozulive.com 11
http://s.deeeki.com 6
http://feedly.com 4
https://www.chatwork.com 3
http://slideshare-download.seesaa.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから Presentation Transcript

  • Cocos2d-x によるスマートフォンアプリ開発 のこれまでとこれから 株式会社シュハリ! 代表取締役 松浦 晃洋 セションID: 13-C-1! #devsumiC
  • 自己紹介 • 松浦 晃洋! • 株式会社シュハリ 代表取締役! • Cocos2d-x 開発のレシピ執筆 • • @syuhari! facebook.com/syuhari
  • 今日のゴール • Cocos2d-x とは何かを知ってもらう • Cocos2d-x での開発を選択肢に入れてもらう • Cocos2d-x って何かイイねって思ってもらう
  • Cocos2d-x とは?
  • Cocos2d-x 知っていますか?
  • Cocos2d-x 使っていますか?
  • Cocos2d-x
  • Cocos2d-x
  • C++ Resources JNI Objective-C Java Xcode ant Eclipse ipa apk
  • ゲームフレームワーク • Unity • Cocos2d-x • 他にも多数あります • やりたいことが出来れば別に何使っても構わない!
  • Cocos2d-x の利点 • マルチプラットフォーム開発 • オープンソース • • • ゲームエンジン内で何をしているか分かる いざとなれば自分でカスタマイズ 海外、国内のコミュニティが活発
  • Cocos2d-x の事例
  • BADLAND
  • ドラゴンクエストモンスターズ スーパーライト
  • 三国志パズル大戦
  • ブレイブフロンティア
  • Flappy Bird
  • 海外での Cocos2d-x
  • 海外での Cocos2d-x • 中国、台湾など東南アジアでの普及率はトップ • • MicroSoft が技術的に協力している • • ランキングの7割くらいが Cocos2d-x を利用 Windows8, WindowsPhone8 ゲーム以外にもテレビのセットボックスとして利 用されている
  • Cocos2d-x 開発の! これまで
  • スマほん
  • リズムタップ
  • リズムオンステージ
  • Cocos2d-x 利用した結果 • App Store, Google Play へほぼ同時期にリリース • 教育系アプリで約2年で600万ダウンロード • 国内の知育アプリのシェアNo.1
  • 実際にどんな感じ?
  • 実装例1! ! 簡易3Dを表示する
  • • CCNode 毎にカメラがある • 通常はのっぺりした 2D になるように
 カメラが調整されている • このカメラの位置などを調整できる
  • CCSize size = CCDirector::sharedDirector()->getWinSize(); ! // スクロールするスプライト生成 CCSprite* pSprite = CCSprite::create("script.png"); this->addChild(pSprite, 0); ! // カメラ位置変更 float x=0, y=0, z=0; this->getCamera()->getCenterXYZ(&x, &y, &z); this->getCamera()->setCenterXYZ(x, y+0.0000003, z); ! // スクロール処理 CCMoveBy* move = CCMoveBy::create(30.0f, ccp(0, pSprite->getContentSize().height + size.height)); pSprite->runAction(move);
  • 実装例2 ! 指でなぞったラインを描画する! 画像を切り取って表示する
  • • CCMotionStreak クラス • 画像をカラーエフェクトかけて描画 •   ⇐ 描画している画像はこれ • 指定した n 秒後にフェードアウト
  • bool Recipe39::ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent) { this->removeChildByTag(MOTION_STREAK_TAG, true); // CCMotionStreak のインスタンスを生成 CCPoint point = this->convertTouchToNodeSpace(pTouch); CCMotionStreak* pStreak = CCMotionStreak::create(0.5f, 1.0f, 10.0f, ccc3(255, 255, 0), "line.png"); pStreak->setPosition(point); this->addChild(pStreak, 5, MOTION_STREAK_TAG); return true; } ! void Recipe39::ccTouchMoved(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent) { // CCMotionStreak のインスタンスをタップした通りに動かす CCPoint point = this->convertTouchToNodeSpace(pTouch); CCMotionStreak* pStreak = (CCMotionStreak*)this->getChildByTag(MOTION_STREAK_TAG); pStreak->setPosition(point); }
  • • 物理オブジェクトを放物線上に飛ばす • 指で切られたら、物理オブジェクトを2分 割して、テクスチャも2分割 • 分割後の物理オブジェクトにそれぞれ違う 運動エネルギーを与えて、散るようにする
  • 実装例3! ! 指で線を描き物理エンジン で動かす
  • • CCTouchMoved で指でなぞった軌跡を保存 • CCTouchEnded で指でなぞった軌跡に沿って
 小さい物理オブジェクトを多数作成 • それを繋げてひとつの物理オブジェクトにする • なぞった軌跡でラインを描画してテクスチャを 作成し、物理オブジェクトに貼り付ける
  • 指で描いている最中 (CCTouchMoved) 指で描くのが終了 (CCTouchEnded) 物理オブジェクトの塊に テクスチャを貼り付ける
  • Cocos2d-x を利用すれば! 簡単に実装できる!
  • Cocos2d-x のこれから
  • Cocos2d-x Ver.3 • 現在ベータ版がリリース • クラスのプレフィックスが取れ、
 ネームスペースを採用
  • レンダリングの高速化
  • C++ 開発者がより親しみやすく • Objective-C パターンから C++ パターンへ • C++11 対応 • ラムダ、std::function, std::thread など
  • 開発効率のアップ • ビジュアルエディタ • • CocoStudio ボーンアニメーション • DragonBones
  • DragonBones • オープンソース • Flash のエクステンション • Bone Animation • C++, JavaScript どちらでも利用可能
  • JavaScript Binding • JavaScript と C++ のメソッド名が一致 • JavaScript でネイティブアプリが作れる • ビルド時間短縮で開発効率アップ • SpiderMonkey で動作
  • その他 • 通信処理の強化 • イベントディスパッチャーが描画順 • GUI の強化 • フォントアトラスのキャッシュ • 標準ツールの充実 • cocos2d-console • プロジェクトクリエイター
  • プロジェクトクリエイター
  • まとめ
  • 今日のゴール • Cocos2d-x とは何かを知ってもらう • Cocos2d-x での開発を選択肢に入れてもらう • Cocos2d-x って何かイイねって思ってもらう
  • Action! • Cocos2d-x 未経験者 • 簡単なゲームを作ってみよう! • コミュニティに参加! • • facebook : cocos2d-x.jp Cocos2d-x 経験者 • コミュニティを一緒に盛り上げましょう!
  • Cocos2d-x で一緒に ゲームを作りましょう! • • @syuhari! facebook.com/syuhari