0

希望有人可以在这里帮助我。我试图在两个精灵上按顺序运行动作。如果我删除 hand.setScale,则会出现与下面的代码相同的结果,即精灵覆盖整个屏幕 (800x600)。手部精灵是 13px x 12px。如果将 setScale 修改为 (0.5),则精灵手根本不会显示。如果我在主函数中声明并设置手精灵,就在 splat sprite 的声明下方,然后在wipe_splat 函数中将手的可见性设置为 true,这也不会显示精灵。最终我想在屏幕上移动手部精灵。不过现在我只是想展示它。

//main function
var splat = cc.Sprite.create(res.splat_img);
splat.setPosition(399, 299);   // (screen dimenstion - object dimension) / 2
layer.addChild(splat, 3, 4);

splat.runAction(cc.Sequence.create(cc.ScaleTo.create(0.25, 401, 301),  cc.EaseIn.create(cc.Spawn.create(cc.MovveTo.create(6, cc.p(400, 100)),cc.FadeTo.create(6, 225)), 5), cc.CallFunc.create(this.wipe_splat, this, layer)));

function wipe_splat(layer)
{
    var hand = cc.Sprite.create(res.hand_img);
    hand.setPosition(25, 25);   // (screen dimenstion - object dimension) / 2
    hand.setScale(1);
    layer.addChild(hand, 4, 5);
};
4

1 回答 1

0

您需要使用延迟操作

于 2014-05-07T00:24:32.600 回答