在processing.js中基于velocity创建对象的移动

时间:2015-06-18 05:37:36

标签: javascript processing processing.js

我试图根据它们的速度画出翅膀振荡的鸟类。简单地说,我的鸟飞得越快,它们的翅膀应该越快振荡。

我的完整代码如下,并没有按我的意愿行事。我创建振荡的过程是kCLAuthorizationStatusAuthorized根据flyingFactor函数中velocity的大小而变化。但是当我displayAndMoveWings发现所有内容时,因为draw一直在变化(即由velocity函数中的随机acceleration力触发),{{1}也是如此并且意味着我的鸟的翅膀根本不会振动并且看起来非常多。

任何使其有效的方法?我希望我的鸟的翅膀看起来像是自然振荡,只有当我的鸟加速或减速时才会越来越快。

提前非常感谢你!

draw

1 个答案:

答案 0 :(得分:0)

我想我可能已经找到了一个hack ...在我的displayAndMoveWings函数之前,我创建了一个名为whatIsVelocity的新全局变量。然后在displayAndMoveWings我写了以下内容:

if (frameCount % 60 === 0){
    whatIsVelocity = this.velocity.mag();
}
this.flyingFactor=cos(360+frameCount*whatIsVelocity*10)*20;

实际上,它的作用是每60帧(大约2秒)拉动速度并将该速度引入flyingFactor,这意味着它不会像我之前的代码那样每帧重新计算。不是很漂亮,但它实现了我的目的。