codes seem to be right but wrong

codes seem to be right but wrong
0.0 0



this._moveAction = cc.MoveBy.create(0.5, new cc.Point(50,50));
// var action1 = cc.CallFunc.create(this,this.sprite2.runAction(cc.MoveBy.create(0.5, new cc.Point(50,50)))); Wrong1! sprite1 and sprite2 move simultaneously, why?
var action1 = cc.CallFunc.create(this,this.callback);

var action = cc.Sequence.create(


callback:function () {
// this.sprite2.runAction(this._moveAction); Wrong2! Sprite2 won’t move, why?
this.sprite2.runAction(cc.MoveBy.create(0.5, new cc.Point(50,50)));

Those codes execute successfully. I tried many times to make it work. Some codes seem to be right but in face they are wrong, like Wrong1 and Wrong2, why?

I want the sprites to execute action one by one, perhaps it would be looked like this:

var xx = cc.Sequence.create(this.sprite1.runAction(action), this.sprite2.runAction(action2),…)

is it possible? if so, it would be very convenient.