首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tweenjs随机值

Tweenjs随机值
EN

Stack Overflow用户
提问于 2017-07-09 21:33:29
回答 1查看 588关注 0票数 0

探索Tweenjs。我只想在舞台上随意转几圈。我知道所有的推文都是“确定性的”,这意味着它使用了预先计算出来的速度值。所以我有两个函数可以互相调用。当吐温完成时,调用第二个函数。不幸的是,我收到了一个调用堆栈溢出错误。

HOw,我可以让这个永远运行,并无休止地移动圆圈随机位置?

代码语言:javascript
复制
function tweenPosition(circle) {
    var xPosition = Math.random() * stageWidth
    var yPosition = Math.random() * stageHeight

    createjs.Tween.get(circle, {loop: false}).wait(0).to({x: xPosition, y: yPosition}, 1000, createjs.Ease.sineInOut).onComplete(tweenPositionComplete(this, xPosition, yPosition))
}
function tweenPositionComplete(circle, x, y) {
    circle.x = x
    circle.y = y
    tweenPosition(this)
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-10 13:52:35

tweenPosition函数中的吐温实例中,不要使用onComplete方法,而是使用call方法,并将其添加到吐温实例的末尾。

代码语言:javascript
复制
call (callback, [params], [scope])

就您的代码而言:

代码语言:javascript
复制
.call(tweenPositionComplete, [circle, xPosition, yPosition])

你的吐温会像这样:

代码语言:javascript
复制
createjs.Tween
        .get(circle, {loop:false})
        .wait(0)
        .to({x:xPosition, y:yPosition}, 1000, createjs.Ease.sineInOut)
        .call(tweenPositionComplete, [circle, xPosition, yPosition]); 

这把小提琴中,您可以看到它的作用。

也见中间类(TweenJS API)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45001236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档