【发布时间】:2019-10-18 12:38:24
【问题描述】:
我想创建一个像旧的 Megaman 游戏一样的角色选择屏幕,除了我想为游戏创建菜单我的问题是我如何使用键盘或 Dpad 浏览游戏对象并选择它们?
我不想使用 UI 元素,但是盒子碰撞器等任何人都可以提供一个示例如何实现这一点吗?
我遵循了其他 Unity 教程,但它使用 UI 按钮。
感谢您的帮助。
【问题讨论】:
标签: unity3d input 2d game-engine
我想创建一个像旧的 Megaman 游戏一样的角色选择屏幕,除了我想为游戏创建菜单我的问题是我如何使用键盘或 Dpad 浏览游戏对象并选择它们?
我不想使用 UI 元素,但是盒子碰撞器等任何人都可以提供一个示例如何实现这一点吗?
我遵循了其他 Unity 教程,但它使用 UI 按钮。
感谢您的帮助。
【问题讨论】:
标签: unity3d input 2d game-engine
1.按升序命名所有 NonUIButton [例如:Button1、Button2 等]
2.启用Awake()上的第一个按钮
void Awake(){
currentValue=0;
GameObject goToEnable = GameObject.Find("NonUIButton1");
goToEnable.SetActive(true);
}
3.获取所有按钮列表
public List<GameObject> items = new List<GameObject>();
void Start(){
items.AddRange(GameObject.FindGameObjectWithTag("NonUIButtons");}
4.当按下任何键时,使用简单的加法和减法计算运动,禁用所有按钮并启用唯一您想要的按钮
void Update(){
if (Input.GetKeyDown("Up"))
{
currentValue -= 3; // Assuming each row has 3 buttons
foreach(GameObject obj in items){
obj.SetActive(false);
}
}// DO similar steps for each type of movement also make sure to add edge cases
}
启用所需的按钮
GameObject goToEnable = GameObject.Find("NonUIButton1"); goToEnable.SetActive(true);
【讨论】: