cocos2d-html5
Version:
Cocos2d-HTML5 core package
46 lines (40 loc) • 1.47 kB
JavaScript
var SpriteZOrder = cc.Layer.extend({
_dir:0,
ctor : function(){
this._super();
var winSize = cc.Director.getInstance().getWinSize();
this._dir = 1;
var sprite;
var step = winSize.width / 11;
for (var i = 0; i < 5; i++) {
sprite = cc.Sprite.create(res.grossini_dance_atlas_png, cc.rect(0, 121, 85, 121));
sprite.setPosition((i + 1) * step, winSize.height / 2);
this.addChild(sprite, i);
}
for (i = 5; i < 10; i++) {
sprite = cc.Sprite.create(res.grossini_dance_atlas_png, cc.rect(85, 0, 85, 121));
sprite.setPosition((i + 1) * step, winSize.height / 2);
this.addChild(sprite, 14 - i);
}
sprite = cc.Sprite.create(res.grossini_dance_atlas_png, cc.rect(85 * 3, 0, 85, 121));
this.addChild(sprite, -1, 0);
sprite.setPosition(winSize.width / 2, winSize.height / 2 - 20);
sprite.setScaleX(10);
sprite.setColor(cc.RED);
this.schedule(this.reorderSprite, 1);
},
reorderSprite:function (dt) {
var sprite = this.getChildByTag(0);
var z = sprite.getZOrder();
if (z < -1)
this._dir = 1;
if (z > 10)
this._dir = -1;
z += this._dir * 3;
this.reorderChild(sprite, z);
}
});
SpriteZOrder.create = function(args){
var layer = new SpriteZOrder();
return layer.init() ? layer : null;
};