我正试图在Unity中创建一个飞机雷达模拟。我正试图通过文本输入和按钮旋转“飞机”。
流程如下:输入270度〉使用鼠标单击左转或右转〉飞机旋转到270度位置
假设360度总是指向北方,那么如果你向左转到270度的位置,你旋转到那个位置所花的时间要比图灵向右旋转到270度的位置所花的时间短。
飞机是一个绿色的圆圈
我可以使用左和右按钮来旋转飞机,但是Angular 是在C#脚本中硬编码的。
左按钮:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class Left : MonoBehaviour, IPointerDownHandler,IPointerUpHandler
{
bool ispressed = false;
public GameObject Aircraft;
void Update()
{
if (ispressed)
{
Aircraft.transform.Rotate(-90.0f, 0, 0, Space.World);
}
}
public void OnPointerDown(PointerEventData eventData)
{
ispressed = true;
}
public void OnPointerUp(PointerEventData eventData)
{
ispressed = false;
}
}
右按钮:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class Right : MonoBehaviour, IPointerDownHandler,IPointerUpHandler
{
bool ispressed = false;
public GameObject Aircraft;
void Update()
{
if (ispressed)
{
Aircraft.transform.Translate(0.2f, 0, 0);
}
}
public void OnPointerDown(PointerEventData eventData)
{
ispressed = true;
}
public void OnPointerUp(PointerEventData eventData)
{
ispressed = false;
}
}
1条答案
按热度按时间bweufnob1#
如果你想得到输入字段中输入的值,这里有一个简单的方法:
编写以下内容后,可以通过在检查器窗口中输入相应的输入字段来获取值。
这是一个非常简单的方法,但有一些注意事项。如果您在数据中输入数字以外的值,则会将其识别为非预期值。如果您只想输入数字,则还可以将其设置为输入字段的内容类型。