Unity3d 在鼠标上方更改精灵
我有一个精灵,在我的游戏主菜单中充当一个按钮。它有一个盒子碰撞器,我使用Unity3d 在鼠标上方更改精灵,unity3d,sprite,gameobject,Unity3d,Sprite,Gameobject,我有一个精灵,在我的游戏主菜单中充当一个按钮。它有一个盒子碰撞器,我使用OnMouseDown()来注册按钮的点击 当我的鼠标滚动到按钮上时,我想改变精灵。我知道我可以使用函数OnMouseOver()做一些事情,但是我如何在两个精灵之间完全切换呢?将鼠标功能放在一个空的父对象GameObject,并将其作为您想要的所有精灵的父对象,然后只需通过父对象启用/禁用它们,将鼠标功能放到空的父对象上,并将其设置为所需的所有精灵的父对象,然后只需通过父对象启用/禁用它们其他选项: 改用worldspa
OnMouseDown()
来注册按钮的点击
当我的鼠标滚动到按钮上时,我想改变精灵。我知道我可以使用函数
OnMouseOver()
做一些事情,但是我如何在两个精灵之间完全切换呢?将鼠标功能放在一个空的父对象GameObject
,并将其作为您想要的所有精灵的父对象,然后只需通过父对象启用/禁用它们,将鼠标功能放到空的父对象上,并将其设置为所需的所有精灵的父对象,然后只需通过父对象启用/禁用它们其他选项:
- 改用worldspace UI按钮(然后可以使用内置的spriteswap转换和其他按钮方法:)
- 添加公共Sprite变量并将mouseover Sprite指定给该变量,然后在OnMouseOver()中,在按钮Sprite中使用该Sprite图像。(并在鼠标离开时恢复为原始精灵)
- 也可以使用Mecanim动画,OnMouseOver()切换到另一个动画(只有1帧)
- 改用worldspace UI按钮(然后可以使用内置的spriteswap转换和其他按钮方法:)
- 添加公共Sprite变量并将mouseover Sprite指定给该变量,然后在OnMouseOver()中,在按钮Sprite中使用该Sprite图像。(并在鼠标离开时恢复为原始精灵)
- 也可以使用Mecanim动画,OnMouseOver()切换到另一个动画(只有1帧)
- 您不需要使用两个精灵并在它们之间切换。只需使用如下效果:
void OnMouseOver()
{
transform.GetComponent().sprite.color=“单击效果的新颜色”;
transform.GetComponent().sprite.localScale-=新向量3(0.1f、0.1f、0.1f);
}
并在OnMouseExit
中返回所有此过程。或者,如果仍要更改sprite,可以按如下方式进行更改:
Sprite-Sprite;
雪碧强光雪碧;
void OnMouseOver()
{
transform.GetComponent().sprite=highlightSprite;
}
void OnMouseExit()
{
transform.GetComponent().sprite=sprite;
}
然后在
OnMouseExit
中返回,您不需要使用两个精灵并在它们之间切换。只需使用如下效果:
void OnMouseOver()
{
transform.GetComponent().sprite.color=“单击效果的新颜色”;
transform.GetComponent().sprite.localScale-=新向量3(0.1f、0.1f、0.1f);
}
并在OnMouseExit
中返回所有此过程。或者,如果仍要更改sprite,可以按如下方式进行更改:
Sprite-Sprite;
雪碧强光雪碧;
void OnMouseOver()
{
transform.GetComponent().sprite=highlightSprite;
}
void OnMouseExit()
{
transform.GetComponent().sprite=sprite;
}
然后在
OnMouseExit
中进行更改,这样效果很好。然而,如果你有一个蓝色的精灵,你在photoshop中创建的呢?sprite.color
还会更改sprite的颜色吗?它会更改,但也就是说,当您将颜色设置为红色时,我想它会变成蓝色+红色。不是你设定的颜色。这个效果很好。然而,如果你有一个蓝色的精灵,你在photoshop中创建的呢?sprite.color
还会更改sprite的颜色吗?它会更改,但也就是说,当您将颜色设置为红色时,我想它会变成蓝色+红色。不是你设定的颜色。