赞
踩
把代码:
m_XValue = float.Parse(xString);
m_YValue = float.Parse(yString);
改成:
try
{
// Convert the strings to floats
m_XValue = float.Parse(xString);
m_YValue = float.Parse(yString);
}
catch { }
或者:
if (float.TryParse(xString, out m_XValue) && float.TryParse(yString, out m_YValue))
{
m_XValue = float.Parse(xString);
m_YValue = float.Parse(yString);
} // 没报错
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; // create a GameObject // create two Input Fields // attach both Fields to the GameObject // attach this script to the GameObject public class Vector3__x : MonoBehaviour { public InputField m_InputFieldX, m_InputFieldY; string xString, yString; float m_XValue, m_YValue; Vector3 m_NewPosition; void Start() { // Vector3 m_NewPosition = new Vector3(0.0f, 0.0f, 0.0f);报错m_NewPosition doesn't exist,原因是局部变量有作用域 m_NewPosition = new Vector3(0.0f, 0.0f, 0.0f); } void Update() { xString = m_InputFieldX.text; yString = m_InputFieldY.text; m_XValue = float.Parse(xString); m_YValue = float.Parse(yString); // 报错FormatException: Input string was not in a correct format. /*float.TryParse(xString, out m_XValue); float.TryParse(yString, out m_YValue); m_XValue = float.Parse(xString); m_YValue = float.Parse(yString); // 报错FormatException: Input string was not in a correct format.*/ /*if (float.TryParse(xString, out m_XValue) && float.TryParse(yString, out m_YValue)) { m_XValue = float.Parse(xString); m_YValue = float.Parse(yString); } // 没报错*/ /*try { m_XValue = float.Parse(xString); m_YValue = float.Parse(yString); } catch { } // 没报错*/ m_NewPosition.x = m_XValue; m_NewPosition.y = m_YValue; this.transform.position = m_NewPosition; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。