Archive for the ‘cocos2d’ Category

 

menuの使い方 cocos2d-x v3

3月 13th, 2014

シーン入れ替えサンプルより ヘッダー public: void onPushScene(Object* sender); auto item1 = MenuItemFont::create( “Test pushScene”, CC_CALLBACK_1(SceneTestLayer1::onPushScene, this)); auto item2 = MenuItemFont::create( “Test pushScene w/transition”, CC_CALLBACK_1(SceneTestLayer1::onPushSceneTran, this)); auto item3 = MenuItemFont::create( “Quit”, CC_CALLBACK_1(SceneTestLayer1::onQuit, this)); // 色 item3->setColor(Color3B( 255,0,0 )); auto menu = Menu::create( item1, item2, item3, NULL ); menu->alignItemsVertically(); addChild( menu ); こんな感じで、OKでした。

Read full article | コメントは受け付けていません。

タッチイベント取得 cocos2d-x v3

3月 13th, 2014

http://www.cocos2d-x.org/docs/manual/framework/native/input/event-dispatcher/en auto touchListener = EventListenerTouchOneByOne::create(); touchListener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded, this); touchListener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this); _eventDispatcherはNodeにあるのでそのまま使えるようです。 タッチされたかチェック Point touchPoint = Director::getInstance()->convertToGL(touch->getLocationInView()); Node* node = this->getChildByTag( targetTag ); if ( node->getBoundingBox().containsPoint(touchPoint) ){ log(“touchEnded %d” , nextNumber); こんな感じで動きました。

Read full article | コメントは受け付けていません。

cocos2d-x 始めました。1

3月 3rd, 2014

html5は少し書きましたが、とりあえず一つアプリを作ってみようと思います。 1. ダウンロードします。 http://www.cocos2d-x.org/ v3.0beta2 2.xと3.0は命名とかかなり変わっているようなのでbetaですが3.0にしてみました。 334MBあるようです。 README.mdに言われるがママ $ cd proj.android/ $ ./build_native.py NDK_ROOT not defined. Please define NDK_ROOT in your environment c++なのでandroid-ndkというのが必要だそうです http://developer.android.com/tools/sdk/ndk/index.html ダウンロードした物を解凍して移動しておく $ mv android-ndk-r9c /Applications/android/ ./bash_profileに NDK_ROOT=/Applications/android/android-ndk-r9c と書いておいた。 とりあえずandroid sdkを最新にしてみる $ cd Applications/android/android-sdk/ $ ./tools/android update sdk –no-ui もう一度。 $ cd proj.android/ $ ./build_native.py The Selected NDK toolchain version was 4.8 […]

Read full article | コメントは受け付けていません。

[cocos2d html5] particles

11月 7th, 2013

http://www.cocos2d-x.org/wiki/Particles?project_id=cocos2d-x Point vs Quad よくわかりませんが、Quadのほうが拡張されているようです。 v2.2で cc.ParticleSystemQuad.create(); -> cc.ParticleSystem.create(); となっているのでもうQuadで良いような雰囲気ですね とりあえず作ってみる。 Gravityモードというのは、中心から拡散されるような感じになるそうで ParticleFireはGravityモードだそうで var effectLayer = cc.Layer.create(); this.addChild(effectLayer); this._emitter = cc.ParticleFire.create(); this._emitter.setTexture(cc.TextureCache.getInstance().addImage(“fire.png”)); effectLayer.addChild(this._emitter); こんな感じで出来ました。 Radiusモードのサンプルをそのまま貼付けただけですが、くるくる回りました。 this._emitter = cc.ParticleSystem.createWithTotalParticles(100); this._emitter.setTexture(cc.TextureCache.getInstance().addImage(“fire.png”)); // duration this._emitter.setDuration(5); // this._emitter.setDuration(cc.PARTICLE_DURATION_INFINITY); // radius mode this._emitter.setEmitterMode(cc.PARTICLE_MODE_RADIUS); // radius mode: start and end radius in pixels this._emitter.setStartRadius(0); this._emitter.setStartRadiusVar(0); this._emitter.setEndRadius(160); this._emitter.setEndRadiusVar(0); effectLayer.addChild(this._emitter); // radius mode: […]

Read full article | コメントは受け付けていません。

[cocos2d html5] effects

11月 7th, 2013

http://www.cocos2d-x.org/wiki/Effects?project_id=cocos2d-x tile grid とnon tile gridの違いは、タイル個別の座標を取るか全体を取るかの違いのようで layerにeffect用のlayerを入れてそこにspriteの画像を設置)Liquidというのを実行 init: function(){ var effectLayer = cc.Layer.create(); this.addChild(effectLayer); this.mySprite = cc.Sprite.create(“soldier320.png”); this.mySprite.setPosition(cc.p(size.width / 2, size.height / 2)); effectLayer.addChild(this.mySprite, 0); this.mySprite.runAction(cc.Liquid.create(4, cc.size(10,10),1, 5)); } 4秒ほどうねうねしたので成功のようです。 Waves:うねうね Twirl: 引っ張られたような感じになりました。 this.mySprite.runAction(cc.Twirl.create(4, cc.size(10,10), new cc.Point(100,100), 1, 5)); TurnOffTiles:タイル状に消えました。 this.mySprite.runAction(cc.TurnOffTiles.create(4, cc.size(10,10))); SplitRows:格子状に引き裂かれました。 this.mySprite.runAction(cc.SplitRows.create(4, 10)); とかいろいろ

Read full article | コメントは受け付けていません。

[cocos2d-x] basic conceptを読む

11月 7th, 2013

http://www.cocos2d-x.org/wiki/Basic_Concepts Actions:表示、動かす Animations:アニメーション Coordinate System:座標、画面の0,0と方向 Director Scene Layer and Sprite:ディレクター、シーン、レイヤーとスプライト(図形) Effects:効果 Particles:分子? Scheduler and Timer Callback:スケジューラー、タイマー Skeletal Animation:パーツアニメ TileMap:タイルマップ Transitions:変化 だいたい出来る事がわかりました。

Read full article | コメントは受け付けていません。

[cocos2d html5] シーン変更

11月 7th, 2013

cocos2d.js appFiles:[ 'src/resource.js', 'src/myScene.js', 'src/myScene2.js' ] myScene, myScene2のクラスを作っておきました。 helloworldのサンプルと同じようなやつです。 各mySceneのメニューボタンにchange sceneを追加。(前回 レイヤー変更したボタン var item_change_scene = cc.MenuItemFont.create(“change scene to 1″, function(){ cc.Director.getInstance().replaceScene( cc.TransitionCrossFade.create(0.5, new MyScene() )); },this); var menu = cc.Menu.create(item_change_layer, item_change_scene); menu.setPosition(cc.PointZero()); this.addChild(menu, 1); item_change_layer.setPosition(cc.p( 50 , 100)); item_change_scene.setPosition(cc.p( 50 , 150)); こんな感じで シーン作成のところで var MyScene = cc.Scene.extend({ onExit:function () { console.log(‘onExit’); this._super(); }, としたら、シーン移行で毎回ちゃんと呼ばれてました。 […]

Read full article | コメントは受け付けていません。

[cocos2d-html5] multiplexlayerでlayer切替

11月 6th, 2013

cc.multiplexlayerで切替してみました。 var LayerMenu = cc.Layer.extend({ isMouseDown:false, helloImg:null, helloLabel:null, circle:null, sprite:null, init:function (layer_number) { var selfPointer = this; this._super(); var size = cc.Director.getInstance().getWinSize(); var item = cc.MenuItemFont.create(“C["+layer_number+"]“, function(){ var next_number = layer_number + 1; if( next_number >= this._parent._layers.length ){ next_number = 0; } this._parent.switchTo(next_number); },this ); item.color=cc.Red; item.setAnchorPoint(cc.p(0.5, 0.5)); var menu = cc.Menu.create(item); menu.setPosition(cc.PointZero()); this.addChild(menu, 1); […]

Read full article | コメントは受け付けていません。