2016-11-22 90 views
0

我创建了一个获取localscale值并将其转换为字符串的代码。据推测,它应该通过将其乘以10来将其度量单位改为厘米。问题是,尝试乘以一个字符串中的值是行不通的,因为它是一个字符串。我也计划尝试将其转换为字符串,但不幸的是我变得更加困惑。有什么方法可以添加/减去/乘以我转换为字符串的localscale值吗?这是我的香草代码,没有公式。在Unity C中乘以ToString值#

using UnityEngine; 
using System.Collections; 
using UnityEngine.UI; 

public class ScaleSlider : MonoBehaviour { 

    public Slider sliderLength; 
    public Slider sliderWidth; 
    public Slider sliderHeight; 
    public Text textLength; 
    public Text textWidth; 
    public Text textHeight; 

    // Use this for initialization 
    void Start() { 
     sliderWidth.value = 1f; 
     sliderLength.value = 1f; 
     sliderHeight.value = 1f; 
    } 

    void Update() { 
     textLength.text = transform.localScale.x.ToString(); 
     textWidth.text = transform.localScale.y.ToString(); 
     textHeight.text = transform.localScale.z.ToString(); 
     transform.localScale = new Vector3(sliderLength.value*1, sliderWidth.value*1, sliderHeight.value*1); 

    } 

} 
+1

'int.Parse(字符串)' – bixarrio

+5

你的意思是:(transform.localScale.x * 10).ToString(); ? – RvdK

+0

谢谢rvdk。肯定是我需要的:)可悲的是我无法投票您的评论作为答案。 –

回答

2

您需要先将其转换回数字Type。 尝试:

float.Parse(transform.localScale.x.ToString()) *= 10f; 

或者,如果你要实现的目标是要乘它,然后转换为字符串,你可以尝试:

(transform.localScale.x * 10f).ToString();