在我想要的脚本代码中添加更改其精灵的可能性。所以玩家鼠标悬停在精灵上,它会变成已经添加到项目中的另一个精灵。你能给我一个示例代码吗?
var newSprite : Sprite;
function Start () {
print(gameObject.name);
}
void OnMouseEnter()
{
print("hii detected");
//targetGui.texture = hoverTex;
GetComponent(SpriteRenderer).sprite = newSprite;
}
void OnMouseExit()
{
}
答案 0 :(得分:2)
你可以将两个精灵都作为游戏对象。然后禁用newSprite
对象的Sprite Renderer并将脚本附加到当前Sprite(第一个sprite)。
public GameObject newSprite;
private Vector3 currentSpritePosition;
void OnMouseEnter(){
//getting the current position of the current sprite if ever it can move;
currentSpritePosition = transform.position;
//then make it invisible
renderer.enabled = false;
//give the new sprite the position of the latter
newSprite.transform.position = currentSpritePosition;
//then make it visible
newSprite.renderer.enabled = true;
}
void OnMouseExit(){
//just the reverse process
renderer.enabled = true;
newSprite.renderer.enabled = false;
}
您也可以在开始时按如下方式进行处理:
void Start(){
newSprite.renderer.enabled = false;
}
编辑:您应该为当前精灵添加一个碰撞器,以使OnMouseOver
和OnMouseExit
正常工作。