Cocos2d-html5の各種オブジェクトの使い方
Cocos2d-html5ではゲームの構成要素として下記のような階層構造をもっています。
各機能ごとにSceneとLayerを作成し、
その上にゲームを構成するキャラクターやUIをNodeとして重ねていく事でゲームを作成します。
- Director
ゲーム1つに対して1個しか存在しない。ゲーム全体の管理を行う。
- Scene
メニュー、ゲーム画面、アイテム管理、ランキングなど
ゲームの大枠を構成する要素をSceneを作成し、切り替えて管理する。
またはLevel1,Level2..などステージを作る場合にも
Sceneを作成し、切り替えて作る。
var scene = cc.Scene.create();
- Layer
各Sceneに対して作られる薄い膜。
同じSceneに対して役割ごとに複数のレイヤーを作る事が可能。
例えばキャラクターを設置するMapLayerとUIを設置するUILayerなど。
var GameLayer = cc.Layer.extend({});
- 空のNode
this.mapNode = cc.Node.create();
- 画像
var ship = cc.Sprite.create("res/hoge.png");
- 画像を切り抜いて使う
//(x,y)=(50,50)から(幅、高)=(120,120)を切り抜いて使う this.sprite = cc.Sprite.create("hoge.png",cc.rect(50 ,50 ,120, 120));
- テキスト
var text = cc.LabelTTF.create("aaa","Arial",20);
- 円
var drawnode = cc.DrawNode.create(); this.addChild(drawnode); drawnode.drawDot( cc.p(100,100), 90, cc.c4f( 1, 0, 0, 1) );
- 矩形
var rectBase = cc.LayerColor.create(cc.c4b(0,0,0,255),100,100);
- スプライトアニメーション
texturePacker素材をCocos2d-html5で動作させる
http://d.hatena.ne.jp/oggata/20140327/1395896104
- ボタン
//create buttons var cancelButton = cc.MenuItemImage.create( s_CancelButtonNormal, s_CancelButtonSelected, this.menuTapped,this); buttonItem.setTag(0); buttonItem.setPosition(100,100); var startButton = cc.MenuItemImage.create( s_StartButtonNormal, s_StartButtonSelected, this.menuTapped,this); buttonItem.setTag(1); buttonItem.setPosition(200,100); this.menu = cc.Menu.create(cancelButton,startButton); this.addChild(this.menu); //create tapped function menuTapped:function(sender){ switch(sender.getTag()){ case 0: cc.log("cancel button pressed"); break; case 1: cc.log("start button pressed"); break; } }