Дуров Р. - Cocos2d
-
Upload
innim -
Category
Engineering
-
view
44 -
download
1
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 );