SlideShare a Scribd company logo
ステップ 2:Cocos2dx のアプリケーション基本
I. Cocos2dx の新しいクラスを作る方
現在、私は Visual Studio Express 2012 バーションを使っていますのでご案内に Visual Studio
のイメージを使います。
 インポートした後のプロジェクト
 ここの src フォルダで右マウスをクリクすると Add を選択し、NewItem を選択します。
 新しいクラスを作る前に抱くフォルダのパスを修正してください。「Brower」ボタンを
選択するか、proj.win32 フォルダからプロジェクトフォルダに戻って Classes フォルダ
に選択します。
 新しいダイアログが表示されたときに二つファイル種類がありますので、いつも新し
いクラスを作る為に二つファイルも作らないといけません。新しいクラスのヘッダは
「ClassName.h」タイプと主なファイルは「ClassName.cpp」タイプです。
ここは、「なぜ .h ファイルと、.cpp ファイルを作る必要があるのか」を説明してくだ
さい。C++のクラスは、ヘッダー(Header, .h)ファイルと、実装(Implementation, .cpp)ファ
イルで構成されていることが「理由」です。
II. Cocos2dx 表示の基本構成
1.基本要素
Cocos2d-x のゲームは主にディレクター、シーン、レイヤ、スプライトという要素から作ら
れます。
 シーン(Scene)
シーン、あるいは場面とはある場所での動作の一区切りをさすことです。(「~~とは~
~です」の文章で書いてください)。ゲームはたくさんのシーンで構成されます。 例え
ばタイトル画面、プレイ画面、勝利、敗北、ハイスコア、エンドロールなどがこれに当
たります。 ゲームはたくさんのシーンを持つことができますが*(助詞と動詞の態に注
意:A は B を持つことができる vs A には B を持たせることができる)、ある一時点で
実行されているのは必ず 1 つです。つまり、ゲームの一つずつの画面をシーンと言いま
す。
 ディレクター (Director)
シーンは勝手に動きません。これを管理するのがディレクターと呼ばれるクラスです。
ディレクターはアプリケーションに1つだけ存在し(シングルトン)、シーンの切り替
えなどを行います。
 レイヤー (Layer)
レイアーは、シーン上で利用できるオブジェクトです。たとえば背景を処理するレイヤ
ーやゲームの処理をするレイヤーやメニューを操作するレイヤーなど、オブジェクト毎
にレイヤーが作られます。
 スプライト (Sprite)
レイヤの上に表示する画像のことをスプライトと呼びます。
下のイメージをご覧になった方が、解りやすいと思われます。
III. シーン、レイヤー、スプライトを生成する方
サンプルプロジェクトの基本的なクラスの作り方を見てみましょう。
1. シーンを生成してレイヤーを生成する
 ヘッダー
HelloWorldScene.h ファイル内容
#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
#include "cocos2d.h" // cocos2d ライブラリを読み込む
// HelloWorld クラスの定義をします。
class HelloWorld : public cocos2d::Layer
{
public:
static cocos2d::Scene* createScene();
//init 関数は画面の初期化用です
virtual bool init();
CREATE_FUNC(HelloWorld);
};
#endif // __HELLOWORLD_SCENE_H__
 Cpp ファイル
#include "HelloWorldScene.h" // 設定したヘッダファイルを読み込む
USING_NS_CC; // cocos2d のネームスペースを使用する。これを付けないと cocos2d-x
のモジュールを、書きづらくなります。
//ヘッダーファイルで定義をしたメソッド
Scene* HelloWorld::createScene()
{
// ロカル変数の定義
auto scene = Scene::create();
//レイヤーの作成
auto layer = HelloWorld::create();
//シーンにレイヤーを追加する為に addChild メソッドを利用する。
scene->addChild(layer);
return scene;
}
bool HelloWorld::init()
{
if ( !Layer::init() )
{
return false;
}
Return true;
}
2. スプライトを生成する
Init 変数の中でスプライトを使います。
// 画面の幅を取得
Size visibleSize = Director::getInstance()->getVisibleSize();
// 原点を取得
Point origin = Director::getInstance()->getVisibleOrigin();
// スプライトの作成
Sprite* sprite = Sprite::create("sprite.png");
// スプライトの位置を指定(自動的な生まられたプロジェクトにアンカーポイ
ントは中心に設定されています。)
sprite->setPosition(Point(visibleSize.width / 2, visibleSize.height /
2));
// 拡大、縮小
sprite->setScale(0.5f); // x と y
sprite->setScaleX(0.5f); // x だけ
sprite->setScaleY(0.5f); // y だけ
次のステップは画面でスプライトの位置設定方法についてご案内します。

More Related Content

PDF
Hol005 visual studio_team_services_による_プロ
PPTX
Microsoft Azure IaaS 体験手順書
PPTX
GJIMNAZI ERNEST KOLIQI . DETYRE :Shpikje ne Egjipt KLEA RAMA; Mesuese:lilian...
DOCX
Cocos2dx メニューについて
PPTX
Dei hasko DETYRE FUNDVITI historia 11
DOCX
Cocos2dx Eclipseで環境セットアップ
DOCX
Jniについて
PPTX
SHKOLLA " ALBANET" Historia 8 Klaudio Merepeza. DETYRE SHTEPIJE HSITORIA NGA ...
Hol005 visual studio_team_services_による_プロ
Microsoft Azure IaaS 体験手順書
GJIMNAZI ERNEST KOLIQI . DETYRE :Shpikje ne Egjipt KLEA RAMA; Mesuese:lilian...
Cocos2dx メニューについて
Dei hasko DETYRE FUNDVITI historia 11
Cocos2dx Eclipseで環境セットアップ
Jniについて
SHKOLLA " ALBANET" Historia 8 Klaudio Merepeza. DETYRE SHTEPIJE HSITORIA NGA ...

Viewers also liked (10)

PDF
Cocos2dx step1 開発環境のセットアップ
PPTX
GJIMNAZI ERNEST KOLIQI ;DETYRE NE HISTORI:FEUDALIZMI .WENDI KODHELI 2013
PPTX
GJIMNAZI "ERNEST KOLIQI "Reina KAMANI hisoria XI-2013
PPTX
GJIMNAZI ERNEST KOLIQI PREZANTIM kl 11 2013
PPT
GJIMNAZI ERNEST KOLIQI.DETYRE NE HISTORI 10. QERSHOR 2013.XHENIS TRESKA, PATR...
PPTX
GJIMNAZI ERENST KOLIQI WENDI KODHELI DETYRE NE HISTORI 10/QERSHOR 2013
PPT
GJIMNAZI ERNEST KOLIQI DETYRE NE HISTORI 10/QERSHOR 2013Menduhije ndreu
PPTX
SHKOLLA "ALBANET" Ahmet zogu Klaudio Merepeza
PPTX
SHKOLLA "ALBANET" Kimberli Kadriu klasa 8 histori boterore
PPTX
SHKOLLA ALBANET Eleni Gjoka klasa 8
Cocos2dx step1 開発環境のセットアップ
GJIMNAZI ERNEST KOLIQI ;DETYRE NE HISTORI:FEUDALIZMI .WENDI KODHELI 2013
GJIMNAZI "ERNEST KOLIQI "Reina KAMANI hisoria XI-2013
GJIMNAZI ERNEST KOLIQI PREZANTIM kl 11 2013
GJIMNAZI ERNEST KOLIQI.DETYRE NE HISTORI 10. QERSHOR 2013.XHENIS TRESKA, PATR...
GJIMNAZI ERENST KOLIQI WENDI KODHELI DETYRE NE HISTORI 10/QERSHOR 2013
GJIMNAZI ERNEST KOLIQI DETYRE NE HISTORI 10/QERSHOR 2013Menduhije ndreu
SHKOLLA "ALBANET" Ahmet zogu Klaudio Merepeza
SHKOLLA "ALBANET" Kimberli Kadriu klasa 8 histori boterore
SHKOLLA ALBANET Eleni Gjoka klasa 8
Ad

Similar to Cocos2dx step2 アプリケーション基本 (10)

PPTX
Test Manager + Team Foundation Server /Visual Studio Team Services 手順書(共有パラメー...
PPTX
Visual Studio 2017 と Team Foundation Server / Visual Studio Team Services で実現...
PPTX
Team Foundation Server / Visual Studio Team Services によるプロジェクト管理・リポジトリ管理・継続的イ...
PPTX
.NET CoreとVS Codeで作る人狼知能
PPTX
Team Foundation Server / Visual Studio Team Services 手順書
PDF
Xilinx ISE で Digilent Atlys ボードの回路を作成する手順
PDF
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
DOCX
ネットワーク第5回
PDF
[Ps11]ネットワーク第4回
PDF
Session11 - LabVIEW NXG Training Course
Test Manager + Team Foundation Server /Visual Studio Team Services 手順書(共有パラメー...
Visual Studio 2017 と Team Foundation Server / Visual Studio Team Services で実現...
Team Foundation Server / Visual Studio Team Services によるプロジェクト管理・リポジトリ管理・継続的イ...
.NET CoreとVS Codeで作る人狼知能
Team Foundation Server / Visual Studio Team Services 手順書
Xilinx ISE で Digilent Atlys ボードの回路を作成する手順
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
ネットワーク第5回
[Ps11]ネットワーク第4回
Session11 - LabVIEW NXG Training Course
Ad

Cocos2dx step2 アプリケーション基本