如何创建随机摇晃的图像

How to create shaking randomly images

我想在 Appcelerator TItanium 的 imageView 中制作抖动图像

我想做的是随机改变 imageView 的顶部位置和左侧位置,就像摇晃的图像一样。

OriginalImageLeft = image.left;
OriginalImageTop = image.top;

if (Math.random() > 0.5){
    value = -1;
} else {
    value = 1;
} 

var viewAnimate = Ti.UI.createAnimation({
    duration: 2000,
    repeat:100,
    left: OriginalImageLeft + (Math.random() * 20 * value),
    top: OriginalImageTop + (Math.random() * 20 * value),
});

image.animate(viewAnimate)

但是代码不工作,它只计算 MathRandom() 函数一次,所以摇动不工作。

有什么想法吗?

创建一个计算位置的函数+做一次动画。然后使用动画 complete 事件再次调用该函数,这样它将再次计算新位置 + 运行 动画。如果你想停止它,就不要再次调用函数(例如,在函数调用周围添加一个 counter/if-case)。

有关您的代码无法运行的原因的简短说明:
OriginalImageLeft + (Math.random() * 20 * value) 部分发送到本机路径一次。所以它会执行 JS 中的 Math.random() 部分并将该数字发送给本机 App。实际的 repeat 部分使用计算出的数字执行。