如何实现鼠标扫过对象随之变化的效果



  • 如图设置了一个名为“普通地面”的精灵,有两个只有1帧的动画,分别命名为0和1,默认动画为0
    1.png
    2.png
    之后创建两个“普通地面”实例A与B,两者紧挨着,如图
    3.png
    之后我建立如图事件,意在到鼠标悬停于精灵时,精灵动画变换为1,在鼠标离开时动画复原为0
    事件.png
    在测试中得到如下结果,当鼠标如箭头方向移动,接触到精灵A时,精灵A成功变化
    4.png
    但如果鼠标继续如箭头所示移动,由A移动至B时,由于此时鼠标悬停在B上,A与B均属于“普通地面“对象,满足“鼠标悬停在普通地面”这一条件,因此此时A并不会因为鼠标不再悬停在A上而变化为0,就出现了鼠标由A移动到B以后AB两者动画均为的情况
    5.png
    仅当鼠标离开A与B时,A与B的动画才能恢复为0
    该问题虽然可以通过将AB由同一对象的不同实例改成两个不同的对象并单独创建鼠标事件来解决,但由于在游戏制作计划中需要通过“普通地面”精灵平铺完成地形制作,一张完整的地图创建数十个单独的对象并分别设置事件显然是低效率的
    现想要实现鼠标悬停于A时A变化,再由A移动至B时A复原B变化,请问在不将AB分别设置成不同对象的情况下是否能够实现?



  • 需要在现有的基础上,加个父条件 ,遍历循环。如图哈:
    遍历1.png 遍历.png