Home
Explore
Submit Search
Upload
Login
Signup
Check these out next
Cocos2d xをさらにさわってみよう!
Tomoaki Shimizu
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Tomoaki Shimizu
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Tomoaki Shimizu
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
Game Tools & Middleware Forum
cocos2d-x JavaScript Bindingsについて
Tomoaki Shimizu
Gcs2014 0225 cocos2d-xjsb
Keisuke Hata
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Tomoaki Shimizu
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
1
of
55
Top clipped slide
㉟cocos2d-x勉強会:簡単なアプリをつくってみよう
Dec. 19, 2013
•
0 likes
6 likes
×
Be the first to like this
Show More
•
3,654 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Report
Technology
Nishida Kansuke
Follow
ハイパーメディアロボットクリエイター at ハイパーメディアロボットクリエイター
Recommended
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Tomoaki Shimizu
5.9K views
•
23 slides
㊱タイルマップに挑戦
Nishida Kansuke
8.9K views
•
47 slides
cocos2d-xハンズオン勉強会 in 名古屋
Tomoaki Shimizu
16.8K views
•
48 slides
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Tomoaki Shimizu
15.2K views
•
23 slides
cocos2d-xにおけるマップエディタの利用
Tomoaki Shimizu
5K views
•
14 slides
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Tomoaki Shimizu
7.4K views
•
19 slides
More Related Content
Slideshows for you
(9)
Cocos2d xをさらにさわってみよう!
Tomoaki Shimizu
•
24.3K views
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Tomoaki Shimizu
•
6.8K views
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Tomoaki Shimizu
•
21.4K views
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
Game Tools & Middleware Forum
•
720 views
cocos2d-x JavaScript Bindingsについて
Tomoaki Shimizu
•
22.9K views
Gcs2014 0225 cocos2d-xjsb
Keisuke Hata
•
4.5K views
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Tomoaki Shimizu
•
12.5K views
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
•
16.8K views
実はかんたん!ゲームエンジンCocos2d-x入門
Chukong Technologies Japan
•
8.5K views
Similar to ㉟cocos2d-x勉強会:簡単なアプリをつくってみよう
(20)
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Tomoaki Shimizu
•
17.1K views
cocos2d-x 開発の効率化
Akihiro Matsuura
•
2.9K views
Cocos2dx 8hour
Tomohiko Okita
•
1.6K views
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Tomoaki Shimizu
•
14K views
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Akihiro Matsuura
•
17.7K views
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
Tomoaki Shimizu
•
13.2K views
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Tomoaki Shimizu
•
4.5K views
Cocos2d-x ver.3 開発の効率化
Akihiro Matsuura
•
40.7K views
Cocosサービスについて
Chukong Technologies Japan
•
1.3K views
Cocos2dx step1 開発環境のセットアップ
Chu Chu
•
284 views
Cocos2d platforms
Keisuke Hata
•
1.9K views
Cocos2d js セットアップ for windows
健一 茂木
•
1.1K views
cocos2d-xのすすめ
cowboy_tokyo
•
2.5K views
C#でiPhoneアプリ開発 with MonoTouch
Shin Ise
•
5K views
Cocos2d-xのかんたんな紹介
Tomoaki Shimizu
•
15.5K views
はじめてのUserLAnd。AndroidでUbuntu,Debian ArchLinuxなどをprootで動かそう Beginner for inst...
Netwalker lab kapper
•
5.2K views
Docker for Windows & Web Apps for Containers 実践活用技法
Microsoft Corporation
•
4.3K views
Cocos2d-xおよび関連サービスについて
Chukong Technologies Japan
•
2K views
Cq tse-fm3セミナー資料
Masaki Muranaka
•
2.3K views
Docker
Yusuke Hatanaka
•
1.8K views
More from Nishida Kansuke
(20)
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#3】
Nishida Kansuke
•
2.4K views
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#1】資料
Nishida Kansuke
•
2.4K views
デブサミ2017 【16-D-5】複数台のロボットと音楽をする取り組み(太田智美・西田寛輔) -
Nishida Kansuke
•
1.3K views
20170131 新潟セミナー
Nishida Kansuke
•
941 views
PHP×コミニュケーションロボット
Nishida Kansuke
•
3.5K views
Mizuho.hack 未来の銀行に必要なサービス
Nishida Kansuke
•
881 views
20160314 すしルート#3 資料
Nishida Kansuke
•
14.9K views
ロボ年表を作ってみた
Nishida Kansuke
•
6.1K views
Pepper用課金ボックス「ロボコイン」
Nishida Kansuke
•
3.3K views
jsおじさん#5 ペッパーとjavascript
Nishida Kansuke
•
1.4K views
【3/13】【女性限定】ロボットで、何が出来る?ペッパーにふれてみよう&ミニアイデアソン【とのさまラボ】 powered by 朝日新聞メディアラボ
Nishida Kansuke
•
1.6K views
忍者ゲーム【ペッパーアプリコンテスト2015決勝進出作品】
Nishida Kansuke
•
2.1K views
ペッパービンゴ【ペッパーアプリコンテスト2015決勝進出作品】
Nishida Kansuke
•
4K views
JSを使ったアプリ開発!(JSオジサン#3)
Nishida Kansuke
•
1.6K views
ハッカソン発表資料(朝日新聞 × モバイルファクトリー 異業種ハッカソン!)
Nishida Kansuke
•
1.3K views
iBeaconを使ったアプリ開発
Nishida Kansuke
•
3.5K views
クリスマスハッカソン2013:サンタロスをUNITYで作った
Nishida Kansuke
•
1.6K views
㉞cocos2d-xの開発環境をインストールしてみよう
Nishida Kansuke
•
8.9K views
㉝“知育アプリを作ろう! Kwikで作るデジタル絵本” 勉強会②
Nishida Kansuke
•
3K views
Smart canvasで作るカジュアルゲーム
Nishida Kansuke
•
3.4K views
Recently uploaded
(20)
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 views
JSAI2023_企画セッション(仕掛学)資料
Matsushita Laboratory
•
17 views
Forguncy8 製品概要 202305.pptx
フォーガンシー
•
56 views
Omnis
DaisukeFujita10
•
21 views
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
3 views
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
Kazumi IWANAGA
•
6 views
OIDC(OpenID Connect)について解説③
iPride Co., Ltd.
•
25 views
ペンタエリスリトール市場.pdf
HinaMiyazu
•
3 views
DrupalをDockerで起動してみる
iPride Co., Ltd.
•
22 views
Voyager: An Open-Ended Embodied Agent with Large Language Models
harmonylab
•
5 views
【DL輪読会】大量API・ツールの扱いに特化したLLM
Deep Learning JP
•
93 views
《杨百翰大学毕业证|学位证书校内仿真版本》
d520dasw12
•
2 views
AIEXPO_CDLE名古屋紹介
KotaMiyano
•
4 views
統計学の攻略_統計的仮説検定の9パターン.pdf
akipii Oga
•
237 views
初学者のためのプロンプトエンジニアリング実践.pptx
Akifumi Niida
•
469 views
モバイル・クラウド・コンピューティング-データを如何に格納し、組み合わせ、情報として引き出すか
Masahiko Funaki
•
2 views
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
Deep Learning JP
•
56 views
3Dプリンタって いいね
infinite_loop
•
59 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
214 views
統計学の攻略_推測統計学の考え方.pdf
akipii Oga
•
246 views
㉟cocos2d-x勉強会:簡単なアプリをつくってみよう
cocos2d-x勉強会 ㉟簡単なアプリをつくってみよう
はじめに • macのみで、Windowsの解説はしません。Windowsは、 Cygwinとかも入れないとダメみたい。 • cocos2d-xは、色々な言語が使えますがcppを想定して います。
GUIじゃないから面倒だよね>< プロジェクトの作成
プロジェクトの作成① • cocos2d-xでは、コマンドプロンプトからプロジェクト を作成します。iPhone/Android両方で利用できるプロ ジェクトが作成されるので便利です。 • LaunchPadを開いて、「その他」→「ターミナル」を 起動します。 •
よくつかうので、Dockに追加しておくといいでしょう。
プロジェクトの作成② • 「/Users/tonosamart/cocos/cocos2d-x-2.2/tools/ project-creator/create_project.py」を実行します。 • まずは、フォルダを移動します。 –
cd cocos/cocos2d-x-2.2/tools/project-creator • 次に、プロジェクト名、パッケージ名、プログラム言語 をパラメータに指定してプログラムを実行します。 – ./create_project.py -project Sound -package com.tonosamart.test -language cpp • 上手く行けば、cocos2d-x-2.2の下のprojectsの下にプ ロジェクト名でフォルダが出来ます。
プロジェクトの作成③ tonosamart-mac-2: tonosamart$ cd
cocos/cocos2d-x-2.2/tools/ project-creator tonosamart-mac-2:project-creator tonosamart$ ./create_project.py project Sound -package com.tonosamart.test -language cpp proj.ios : Done! proj.android : Done! proj.win32 : Done! proj.winrt : Done! proj.wp8 : Done! proj.mac : Done! proj.blackberry : Done! proj.linux : Done! proj.marmalade : Done! New project has been created in this path: /Users/tonosamart/ cocos/cocos2d-x-2.2/projects/Sound Have Fun!
プロジェクトの作成④ • プロジェクトの中身は右図の様な 構成になっています。 • Classesフォルダにプログラムを おいて、Resourcesフォルダに画 像などのリソースを配置します。 •
proj.iosなどのフォルダがそれぞ れのOSごとにできます。この フォルダを用いてOS毎にビルド などを行います。
まずはAndroidから Androidで動かす
Androidで動かす① • 「File」→「New」→「Project」を選択 • ダイアログが出るので「Android」→「Android Project
from Existing Code」を選んで「Next」
Androidで動かす② • ダイアログが出るので、Root Directoryで「/Users/ tonosamart/cocos/cocos2d-x-2.2/cocos2dx/ platform/android/java」を選択 •
Projectsに表示されたら「Finish」を押す ※うまくいくと、 Package Explorerに、libcocos2dxが追加される
Androidで動かす③ • もう一回同じ手順で、「/Users/tonosamart/cocos/ cocos2d-x-2.2/projects/Sound/proj.android」を追 加する ※あとは、通常のAndroid同様、実機などで 実行できます。 ※Eclipse外で変更を加えた場合は、「File」 →「Refresh」を忘れずに行って下さい。 ※ブレイクポイントは使えません。不便><
Androidで動かす④ • エミュレータで動かす場合は、 「Use Host
GPU」にチェッ クを入れる必要があります。
シュミレーターが速いのがうれしい iPhoneで動かす
iPhoneで動かす① • proj.iosに.xcodeprojがあるのでxcodeで開けばOK
iPhoneで動かす② • 下記のwarningがでた場合は、Perform Changesで設 定を変更
iPhoneで動かす③ • あとは通常のプロジェクト同様、エミュレータや実機で 動かせます! ※Androidと違いブレイクポイントが使えます
Androidがめんどくさい>< プロジェクトへのファイル追加
プロジェクトへのファイル追加 • プロジェクトにファイルを追加するには、手順を追う必 要があります。 • プログラムは、Classesフォルダ、画像はResourcesに おく必要があるからです。 •
Xcodeで配置した後に、Androidで読み込ませる方法が 楽なのでそれを説明します!
Classの追加(iPhone)① • メニューからFile→New→Fileを選びます。 • C
and C++で、C++ Classを選んで 「Next」を押します。
Classの追加(iPhone)② • 名前をSoundScene.cppにして、保存先をClassesにし てCreateしてください。
Classの追加(Android) • jniの中にあるAndroid.mkを開きます。 • LOCAL_SRC_FILESに、 SoundScene.cppを追加します。
Resourceの追加(iPhone)① • 画像や音楽などをXcodeのResourcesフォ ルダにドラック&ドロップします。 • ダイアログが出るので、図のようになってい るのを確認してFinishを押します。
Resourcesの追加(iPhone)② • Resourcesに追加されていることを確認します。 • フォルダを追加した場合青くなります。 •
念のため右クリックメニューの「Show in Finder」で、Resourcesフォルダの中に物理的に 格納されていることを確認して下さい。
Resourceの追加(Android) • Project→Cleanをすると、assetsの中に ファイルがコピーされます。(このとき、毎 回assetsフォルダの中身は削除されるので注 意して下さい。)
とりあえず簡単なものを キャラクターを表示してみる
キャラクターを表示してみる • SoundSceneを改造していきましょう。とりあえず、単 純なひな形のようなものを作ります。 • 画像は、imagesにはいってるやつを使います。 •
もともとプロジェクトを作った時に入っている HelloWorldSceneを参考にしながら作りましょう!
AppDelegate.cpp pDirector->setOpenGLView(pEGLView); // ResolutionSize(visibleSize)の設定 CCEGLView::sharedOpenGLView()>setDesignResolutionSize(480, 320,
kResolutionShowAll); // ファイルパスと scale を設定 std::vector<std::string> searchPaths; searchPaths.push_back("images"); pDirector->setContentScaleFactor(2.0f); CCFileUtils::sharedFileUtils()->setSearchPaths(searchPaths); // turn on display FPS
SoundScene.h #ifndef __Test__SoundScene__ #define __Test__SoundScene__ #include
"cocos2d.h" class SoundScene : public cocos2d::CCLayer{ public: virtual bool init(); static cocos2d::CCScene* scene(); CREATE_FUNC(SoundScene); }; #endif /* defined(__Test__SoundScene__) */
SoundScene.cpp① #include "SoundScene.h USING_NS_CC; CCScene* SoundScene::scene(){ CCScene
*scene = CCScene::create(); SoundScene *layer = SoundScene::create(); scene->addChild(layer); return scene; } bool SoundScene::init(){ if(!CCLayer::init()){ return false; }
SoundScene.cpp② CCSize frameSize =
CCEGLView::sharedOpenGLView()>getFrameSize(); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCSprite* pBgSprite = CCSprite::create("bg.png"); pBgSprite->setPosition(ccp(visibleSize.width/2, visibleSize.height/2)); this->addChild(pBgSprite, 0);
SoundScene.cpp③ CCSprite* pTolemorouSprite =
CCSprite::create("tolemorou.png"); pTolemorouSprite->setPosition(ccp(240, 120)); this->addChild(pTolemorouSprite, 1); return true; }
SoundSceneを呼び出す • AppDelegate.cppのHelloWorldSceneを SoundSceneに置き換えます。 • これで、SoundSceneが起動時に呼ばれ るようになります。
できた! • こんなかんじ
かいせつ • CCDirector::sharedDirector()->getVisibleSize()で画 面のサイズが取得できます。
音楽に挑戦 BGMをならしてみる
Resourceの追加 • 音楽をXcodeのResourcesフォルダにド ラック&ドロップします。 • ダイアログが出るので、図のようになってい るのを確認してFinishを押します。
音楽のフォーマット • cocos2d-xではいろいろなフォーマット が使えます。MP3やWAVであればiPhone とAndroidどちらでも使えます! • でも、MP3はライセンス料がかかるし、 WAVは容量が大きい>< •
今回は端末を判定して、cafとoggを鳴ら しわけます。
MP3のライセンス料(参考) iOSとAndroidOSそれぞれにアプリを出した場合 OS毎に5,000個までは無償 販売数100, 000以下 $2,500一括払い 販売数100,000以上 1アプリ毎に$0.75 ※アプリ本体無料+アプリ内の広告による収入あり、アプリ本体無料 +アプリ内課金(機能解除等)による収入ありでもライセンス料は必 要とのこと ※あくまで参考数値です。条件等でも変わるようなので確認してみて 下さい。
SoundScene.cpp① #include "SimpleAudioEngine.h" using namespace
CocosDenshion;
SoundScene.cpp② SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5); TargetPlatform platform =
CCApplication::sharedApplication()>getTargetPlatform(); if (platform == kTargetIphone ¦¦ platform == kTargetIpad){ SimpleAudioEngine::sharedEngine()>preloadBackgroundMusic("sounds/caf/bgm.caf"); SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sounds/ caf/bgm.caf", true); }else{ SimpleAudioEngine::sharedEngine()>preloadBackgroundMusic("sounds/ogg/bgm.ogg"); SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sounds/ ogg/bgm.ogg", true); } CCSize frameSize = CCEGLView::sharedOpenGLView()->getFrameSize();
できた! • おとがなった
かいせつ • CCApplication::sharedApplication()>getTargetPlatform()を使うと、どの端末を使っている かを判定できます。 • iPhone,iPadの場合は.caf、それ以外(Android)の場 合は.oggを再生します。 •
音楽のファイルはResourcesのフォルダからの相対パス で指定します。 • 今回は、Resourcesの中にsoundsフォルダを作って、 その中にcafのフォルダを作ったので、 sounds/caf/ bgm.caf のように指定します。
MENU+効果音 効果音をならしてみる
SoundScene.h CREATE_FUNC(SoundScene); void cbMenuButton1(CCObject *pSender); }; #endif
/* defined(__Test__SoundScene__) */
SoundScene.cpp① SimpleAudioEngine::sharedEngine()>setBackgroundMusicVolume(0.5); SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5); TargetPlatform platform =
CCApplication::sharedApplication()>getTargetPlatform(); if (platform == kTargetIphone ¦¦ platform == kTargetIpad){
SoundScene.cpp② SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("sounds/ caf/bgm.caf"); SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sounds/caf/ bgm.caf", true); SimpleAudioEngine::sharedEngine()->preloadEffect("sounds/ogg/ shot.caf"); }else{ SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("sounds/ ogg/bgm.ogg"); SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sounds/ogg/ bgm.ogg", true); SimpleAudioEngine::sharedEngine()->preloadEffect("sounds/ogg/ shot.ogg"); }
SoundScene.cpp③ this->addChild(pTolemorouSprite, 1); CCMenuItemImage *pButton1
= CCMenuItemImage::create( "balloon.png", "balloon_pressed.png", this, menu_selector(SoundScene::cbMenuButton1) ); pButton1->setPosition(ccp(360, 220));
SoundScene.cpp④ CCMenu *pMenu =
CCMenu::create(pButton1, NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu); return true;
SoundScene.cpp⑤ void SoundScene::cbMenuButton1(CCObject *pSender){ TargetPlatform
platform = CCApplication::sharedApplication()>getTargetPlatform(); if (platform == kTargetIphone ¦¦ platform == kTargetIpad){ SimpleAudioEngine::sharedEngine()->playEffect("sounds/caf/ shot.caf"); }else{ SimpleAudioEngine::sharedEngine()->playEffect("sounds/ogg/ shot.ogg"); } }
できた! • おとがなった
かいせつ • CCMenuItemImageで、メニューアイテム(今回の場合 はボタン)を作成 • CCMenu::createで、メニューアイテムが含まれたメ ニューを作成 •
ボタンが押されたら、cbMenuButton1がよばれる • preloadEffectをさいしょにやっておく(読み込みだけ しておいて高速化する)
まとめ • 簡単なcocos2d-xの使い方がわかった!
とのさまラボ! • 勉強会に参加した人どうしのコミニュティがほしい! 勉強会の開催日時の告知がほしい! という意見をみなさまからいただいたので、 コミニュティを作成しました! • 毎週木曜日は、もくもく勉強会も 開催しています! ぜひ「いいね!」をお願いします! h"ps://www.facebook.com/TonosamaLabo
「もくもく」勉強会 • 毎週木曜日に、「もくもく」勉強会やってます! • 場所は新宿!facebookページからお申し込みください! h"ps://www.facebook.com/TonosamaLabo
おわり 主催(共同開催): 株式会社 gooya http://www.gooya.co.jp/ メドレー株式会社 http://www.medley.co.jp/ 講師:西田 寛輔
(Tonosamart) http://www.facebook.com/tonosamart