flash AS2.0如何能让mc按照规定的路线行进? 50
图中有一个元件MC,在图中鼠标点到那里,mc就走到哪里,可是这样的话mc斜着也能走,我想事先设定一个路线,比如让它直着走(也是鼠标点哪到哪里走到哪里,只不过路线是直线),...
图中有一个元件MC,在图中鼠标点到那里,mc就走到哪里,可是这样的话mc斜着也能走,我想事先设定一个路线,比如让它直着走(也是鼠标点哪到哪里走到哪里,只不过路线是直线),如何实现?
展开
1个回答
展开全部
受人鱼不如授人以渔
let me tell you:
首先呢你想鼠标点一下stage然后mc就“嗖”的一下跑到哪里对不对?
分析分析: 这肯定关于舞台的单击事件,和enterframe事件再单击之后获取当前鼠标的_x和_y和mc的_x和_y, 可是怎么移动呢?这就是求mc速度的问题了,再定义一个速度speedx,speedx=(mouse_.x - mc._x) / n;(n越小,mc的移动速度就越快,因为分母变小分式的值就大(当n=1时,mc 走一帧就到了mouse的位置))
就像斗地主发牌一样,首先你要用mc的_x减去刚才点击之后存放的鼠标_X位置在除以一个你喜欢的合适的数字就能得到mc应该移动的速度。然后用这个值除以任何数字,然后定义一个全局Boolean变量告诉enterframe事件让mc移动x
mc._x + =speedx;
mc._y + =speedy;
怎么停止呢?
加if呗,,如果int(mc._x - mouse._x) == 0 并且 int(mc._y - mouse._y) == 0 那么就把全局Boolean设回去。。enterframe一看那个boolean就不让mc再移动了,等待下一次你单击时候在获取新的mousex, mousey,mousex ,mc._x,mc._y,再计算速度呗。。。
let me tell you:
首先呢你想鼠标点一下stage然后mc就“嗖”的一下跑到哪里对不对?
分析分析: 这肯定关于舞台的单击事件,和enterframe事件再单击之后获取当前鼠标的_x和_y和mc的_x和_y, 可是怎么移动呢?这就是求mc速度的问题了,再定义一个速度speedx,speedx=(mouse_.x - mc._x) / n;(n越小,mc的移动速度就越快,因为分母变小分式的值就大(当n=1时,mc 走一帧就到了mouse的位置))
就像斗地主发牌一样,首先你要用mc的_x减去刚才点击之后存放的鼠标_X位置在除以一个你喜欢的合适的数字就能得到mc应该移动的速度。然后用这个值除以任何数字,然后定义一个全局Boolean变量告诉enterframe事件让mc移动x
mc._x + =speedx;
mc._y + =speedy;
怎么停止呢?
加if呗,,如果int(mc._x - mouse._x) == 0 并且 int(mc._y - mouse._y) == 0 那么就把全局Boolean设回去。。enterframe一看那个boolean就不让mc再移动了,等待下一次你单击时候在获取新的mousex, mousey,mousex ,mc._x,mc._y,再计算速度呗。。。
追问
鼠标点到哪里让mc走到哪里这个我会,关键是我要让他按照我规定的路线行进
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询