我在AS2遇到问题,我在flash中制作一个游戏,通过点击一个按钮,你应该可以移动一个Movie Clip。这里的问题是我知道如何做到这一点:
on(press){
example._y-=10;
}
但是我想逐渐向上移动它,就像坐标一样,直到它达到十,给出一点动画。我也不想要任何补间动画,因为影片剪辑已经与其他东西共享代码,所以不要让它变得复杂。我尝试了循环,但它不能很好地工作,这是代码:
on (press) {
var i = 1;
while (i < 10)
{
_root.example._y-=1;
i++;
}
}
我实际上并不擅长循环,我只是把它从互联网上取下来。所以也许你可以帮助我修改循环代码,或者你可以通过使用任何其他技术帮助我,但无论如何,它不能与补间动画相关,它应该只是改变特定的变量电影剪辑。
如果你想要我正在创建的文件,请回复, 谢谢! :)
答案 0 :(得分:1)
如果在while循环中重复更改_y属性,则不会将更改视为动画(当脚本完成时,flash将运行代码并更新屏幕,因此它将立即跳转到结束位置)。
相反,您可以更改每个新帧的值,直到达到新位置:
on (press) {
var moveCount = 10;
_root.example.onEnterFrame = function() {
moveCount--;
if (moveCount > 0) {
this._y--;
} else {
delete this.onEnterFrame;
}
}
}
此外,强烈建议你在on(press)处理程序中没有很多代码,但是创建一个新函数并调用它。使重用和维护代码变得更容易。