我在游戏中有一个按钮,当它悬停时移动到一边。 但是当鼠标位于实际边界框外部的精灵的原始边界框内时,按钮在两个位置之间来回移动(Spazzing out?)。
下面是截图:
http://oi57.tinypic.com/2dubjiv.jpg 没有足够的代表发布img :(
第一个图像最初是按钮,第二个图像是悬停,第三个图像位于两个区域之间。
这是我使用的简单代码:
void OnMouseEnter(){
gameObject.MoveTo (targetPos, time, 0);
// time == 0.5F
}
void OnMouseExit(){
gameObject.MoveTo (initialPos, time, 0);
}
我知道移动按钮很少使用,也不推荐使用,但是,有人对如何解决这个问题有任何想法吗?
答案 0 :(得分:1)
因此,经过一段时间的实验,我发现诀窍是使用更长的边界框,而不是更新它。这意味着不使用OnMouseEnter和OnMouseExit,而是使用bounds.IntersectRay。