在unity3d中,当按钮被点击时,判断被点击的按钮名称如果为a,则将物体的坐标传送至(1,1,1),如果被点击物体名称为b,则将物体的坐标传送至(2,1,1,)
时间: 2024-03-23 17:41:41 浏览: 106
好的,以下是一个简单的示例代码,可以实现你的需求:
```
using UnityEngine;
using UnityEngine.UI;
public class TeleportObject : MonoBehaviour
{
public Button buttonA; // 按钮 A
public Button buttonB; // 按钮 B
public Vector3 positionA = new Vector3(1, 1, 1); // 按钮 A 对应的目标位置
public Vector3 positionB = new Vector3(2, 1, 1); // 按钮 B 对应的目标位置
void Start()
{
buttonA.onClick.AddListener(OnButtonAClick); // 绑定按钮 A 的点击事件
buttonB.onClick.AddListener(OnButtonBClick); // 绑定按钮 B 的点击事件
}
public void OnButtonAClick()
{
if (gameObject.name == "a") // 如果当前物体名称为 a
{
transform.position = positionA; // 设置物体位置为 A
}
}
public void OnButtonBClick()
{
if (gameObject.name == "b") // 如果当前物体名称为 b
{
transform.position = positionB; // 设置物体位置为 B
}
}
}
```
你可以将这个脚本挂载到需要移动的物体上,并将按钮 A 和按钮 B 分别赋值给 `buttonA` 和 `buttonB` 变量。在点击按钮时,脚本会判断当前物体的名称,如果为 a 或 b 则分别设置物体的位置。
阅读全文