Дуров Р. - Cocos2d

31

Transcript of Дуров Р. - Cocos2d

Cocos 2d - Cocos 2d-x - C++, JavaScript Lua;Cocos 2d-ObjC Objective-C;Cocos 2d (Python) Python ;

: iOS, Android, Windows Phone, OS X, Windows, Linux.

Scene , Layer, , . . Node , , , , , . .Action, , .Sprite , node, , , .

(Scene)

Scene, Director

var HelloWorldScene = cc.Scene.extend({ onEnter:function () { this._super(); var layer = new HelloWorldLayer(); this.addChild(layer); }});var scene = new HelloWorldScene();

cc.director.runScene(HelloWorldScene);

cc.director.pushScene(HelloWorldScene);

cc.director.popScene();

Renderer. z-order.

Fade transition

var scene = new NewScene( );

cc.director.runScene( new cc.TransitionCrossFade( 1.0, scene ) );

Bottom left fade transitionvar scene = new NewScene( );

cc.director.runScene( new cc.TransitionFadeBL( 1.0, scene ) );

Shrink and grow transition

var scene = new NewScene( );

cc.director.runScene( new cc.TransitionShrinkGrow( 1.0, scene ) );

(Sprite)

Sprites

var tileBlue = new cc.Sprite(res.TileBlue_png);

var cristal = new cc.Sprite(res.TileWhite_png);

cristal.setScale(0.7);

tileBlue.addChild(cristal);

Anchor point , Position ( )

Opacity

Color

Scale

Rotation

Bounding box ,

(Actions)

Actions

var move = new cc.MoveTo(0.5, new cc.Point(200, 150));

var scale = new cc.ScaleTo(0.3, 0);

var callback = new cc.CallFunc(onComplete);

var actionSequence = new cc.Sequence(move, scale, callback);

var actionSpawn = new cc.Spawn(move, scale, callback);

tileBlue.runAction(actionSequence);

var actionSequence = new cc.Sequence(move, scale, callback);

var actionSpawn = new cc.Spawn(move, scale, callback);Sequence, Spawn

BezierTo, BezierBy

var bezierOptions = [cc.p(20,50), cc.p(500,150), cc.p(50,400)];

var action = new cc.BezierTo( 2, bezierOptions );

RotateTo, RotateBy

var action = new cc.RotateTo( 2, 180 );

SkewTo, SkewBy

var action = new cc.SkewTo(2, 20, 20); var action = new cc.SkewTo(2, 20, 20);

Actions Easing

var moveTo = new cc.MoveTo(2, new cc.Point(200, 50));

var moveEaseOut = new cc.EaseBounceOut(moveTo);

tileBlue.runAction(moveEaseOut);

Label

var labelBMF = new cc.LabelBMFont( "12345", res.score_fnt);

var labelTTF = new cc.LabelTTF("ocos2D JS", "Arial", 30, 150, cc.TEXT_ALIGNMENT_CENTER);

(Sheduling)

Schedulingvar Tile = cc.Sprite.extend({ ctor : function() {

this._super();

this.scheduleUpdate();

},

update: function( dt ) { }});

this.unschedule( this.UpdateFunction );

(Physics)

Physicsvar world;var game = cc.Layer.extend({ init:function () { this._super();

var gravity = new Box2D.Common.Math.b2Vec2(0, -10)

world = new Box2D.Dynamics.b2World(gravity, true);

this.scheduleUpdate(); }, update:function(dt){ world.Step(dt,10,10); }});

(Events)

Eventscc.eventManager.addListener({

event: cc.EventListener.TOUCH_ONE_BY_ONE,

swallowTouches : true,

onTouchBegan: function( touch, event ) {

cc.log( "Touch Began X: " + touch.getLocationX( ) ); cc.log( "Touch Began Y: " + touch.getLocationY( ) );

return true;}, onTouchMoved: function( touch, event ) { },

onTouchEnded: function( touch, event ) { }

}, this);

(Audio)

Audiocc.audioEngine.playEffect( res.soundEffect );

cc.audioEngine.pauseEffect( soundEffectID );

cc.audioEngine.stopAllEffects( soundEffectID );

cc.audioEngine.setMusicVolume( ( 0.75 );