Titanium 如何创建随机抖动的图像

Titanium 如何创建随机抖动的图像,titanium,appcelerator,Titanium,Appcelerator,我想在Appcelerator TItanium的imageView中制作一个震动图像 我想做的是随机改变imageView的顶部位置和左侧位置,就像一个抖动的图像一样 OriginalImageLeft = image.left; OriginalImageTop = image.top; if (Math.random() > 0.5){ value = -1; } else { value = 1; } var viewAnimate = Ti.UI.creat

我想在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
事件再次调用该函数,以便它将计算新位置并再次运行动画。如果你想停止它,就不要再调用该函数(例如,在函数调用周围添加一个计数器/If大小写)

您的代码无法工作的简短信息:

OriginalImageLeft+(Math.random()*20*值)
部分被发送到本机路径一次。因此,它将在JS中执行Math.random()部分,并将该数字发送到本机应用程序。实际的
重复
部分将使用计算出的数字执行。

创建一个函数来计算位置+执行一次动画。然后使用动画
complete
事件再次调用该函数,以便它将计算新位置并再次运行动画。如果你想停止它,就不要再调用该函数(例如,在函数调用周围添加一个计数器/If大小写)

您的代码无法工作的简短信息:

OriginalImageLeft+(Math.random()*20*值)
部分被发送到本机路径一次。因此,它将在JS中执行Math.random()部分,并将该数字发送到本机应用程序。实际的
重复
部分使用计算出的数字执行。

OriginalImageLeft=image.left;OriginalImageTop=image.top;if(Math.random()>0.5){value=-1;}else{value=1;}function newPosition(){var viewmanimate=Ti.UI.createAnimation({持续时间:2000,左:OriginalImageLeft+(Math.random()*20*value),top:OriginalImageTop+(Math.random()*20*value),});Image.animate(viewmanimate);viewmanimate.addEventListener('complete',function(){newPosition();});}newPosition()
code
但它只做一次动画?在这里效果绝对不错OriginalImageLeft=image.left;OriginalImageTop=image.top;if(Math.random()>0.5){value=-1;}else{value=1;}function newPosition(){var viewmanimate=Ti.UI.createAnimation({持续时间:2000,左:OriginalImageLeft+(Math.random()*20*value),top:OriginalImageTop+(Math.random()*20*value),});Image.animate(viewmanimate);viewmanimate.addEventListener('complete',function(){newPosition();});}newPosition()<代码>代码但它只做一次动画?在这里效果绝对不错