在Tween中设置可见形状

时间:2016-06-22 16:14:36

标签: createjs

我希望通过以下方式设置可见性

var shape = new cjs.Shape();
shape.graphics.beginFill("#0000FF").drawRect(0, 0, 100, 100);
movieClip.addTween(
    createjs.Tween.get(shape)
        .to({visible: true}, 50)
        .to({visible: false}, 50)
   );

但是不起作用?我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

设置可见的 可以正常工作,但它可能与您的想法无关。您的代码中发生了什么:

  1. 将“shape”添加到第0帧的movieClip
  2. 50帧内的补间到{visible:true}。非数字属性不能补间,因此它们只是在补间结束时立即设置。这意味着形状从开始时可见,到第50帧仍然可见。
  3. 在50多个帧中补间到{visible:false}。形状将一直显示,直到第二个补间的最后。
  4. 循环。除非另有说明,否则MovieClips将循环其时间轴。 CreateJS补间在创建时存储初始属性,并在转到第0帧时重置为这些值。这使得补间具有确定性,因此您可以将位置设置为时间轴中的任何位置,并且它将显示您的预期。
  5. 这意味着它对于整个时间轴是可见的,可能 1帧在它不可见的一端,但随后它会重置并再次播放。

    以下是一个快速示例,其中补间显示为可见,然后不可见,然后再次显示:http://jsfiddle.net/99bxn6j5/1/

    mc.timeline.addTween(
        createjs.Tween.get(shape)
            .to({x: 100, visible:false}, 40)
            .to({x: 200, visible:true}, 40)
            .to({x: 300, visible:false}, 40)
       );
    

    我不确定您想要的结果是什么,但您可能需要更改方法才能使其正常工作。