我需要创建附加到游戏对象的UIButton 。
我正在使用基于棋盘的游戏,即,当当时单击一个按钮时,将一个对象放置到该特定按钮上。
我在unity3d
.
void UIBtn(GameObject BName)
{
//here to write Button click event.
}
我假设您的意思是 GUI.Button 。
阅读您的第一句话,我了解到您想在 GameObject 所在的位置创建一个按钮,但阅读您的第二句话,您似乎希望在单击按钮时出现 GameObject。由于我不确定,我会回答两个。
要使 GUI 按钮出现在鼠标所在的位置,请使用以下内容:
using UnityEngine;
using System.Collections;
public class Example : MonoBehaviour {
void OnGUI() {
Vector2 screenPos = Event.current.mousePosition;
GUI.Button ( new Rect(screenPos.x,screenPos.y,100,100),"Hello");
}
}
将按钮附加到游戏对象需要首先通过 Physics.Raycast 识别游戏对象,然后从 HitCollider 获取游戏对象,然后在游戏对象的 OnGUI 循环中。通过 GUI.Button 不断将其世界坐标转换为屏幕坐标,以便能够显示按钮。