在运行游戏时,我想实时显示一些统计数据和信息。 现在我想在游戏窗口中显示landingSpeed变量值。 在左上角。
但它没有显示任何内容。我想在左上角显示它,并且能够在脚本中设置文本字体大小。
using UnityEngine;
using System.Collections;
public class MakeObjectFly : MonoBehaviour
{
public float AmbientSpeed = 100.0f;
public float RotationSpeed = 200.0f;
public float flightSpeed = 5.0f;
public float landingSpeed = 100.0f;
public bool isGrounded = true;
Rigidbody _rigidbody;
public UnityEngine.UI.Text displaylandingspeed;
void Start()
{
_rigidbody = GetComponent<Rigidbody> ();
}
void Update ()
{
Quaternion AddRot = Quaternion.identity;
float roll = 0;
float pitch = 0;
float yaw = 0;
roll = Input.GetAxis ("Roll") * (Time.deltaTime * RotationSpeed);
pitch = Input.GetAxis ("Pitch") * (Time.deltaTime * RotationSpeed);
yaw = Input.GetAxis ("Yaw") * (Time.deltaTime * RotationSpeed);
AddRot.eulerAngles = new Vector3 (-pitch, yaw, -roll);
_rigidbody.rotation *= AddRot;
Vector3 AddPos = Vector3.forward;
AddPos = _rigidbody.rotation * AddPos;
if (isGrounded == true) {
landingSpeed = Input.GetAxis ("LandingSpeed") * (Time.deltaTime * AmbientSpeed);
_rigidbody.velocity = AddPos * (Time.deltaTime * AmbientSpeed + landingSpeed);
if (landingSpeed == 100)
landingSpeed = 0.0f;
displaylandingspeed.text = landingSpeed.ToString ();
}
}
}
我添加了变量displaylandingspeed,但在运行游戏时根本没有显示它。
第一个显示文本检查器的两个屏幕截图。 第二个显示带有脚本和附加文本的GameObject。
答案 0 :(得分:1)
屏幕截图中可以看到的文本对象不是Canvas的子对象。具有Unity UI组件的任何对象都应该是Canvas对象的子对象。只有这样才能在屏幕上呈现。
使您的文本对象成为Canvas对象的子对象,并且应该解决问题。