【问题标题】:Scale GameObject in Unity在 Unity 中缩放游戏对象
【发布时间】:2014-02-07 19:34:25
【问题描述】:

如何在 Unity 中增加/减小对象的大小?

例子:

public GameObject sprite;
public  float scale = 2.0f;

void ScaleResolution()
{
    sprite = sprite*scale; //epic string!
}

【问题讨论】:

  • 他们不需要公开。使用 [SerializeField]。
  • @Jessy: The Unity documentation 实际上建议只公开它们。
  • 我没有看到建议。
  • @Jessy 第一句话是“你几乎永远不需要这个”...
  • 该说法不正确;从技术上讲,您永远不需要 SerializeField 属性,就像您永远不需要私有字段一样。但是,这种序列化行为是为 Uniy 的“JavaScript”设计的,其中字段的默认访问是公共的,并且没有属性。如果您使用的是 C#,属性可以通过公开所有序列化字段来轻松避免牺牲代码质量。

标签: c# unity3d


【解决方案1】:

它是transform 组件的属性

sprite.transform.localScale = new Vector3(2.0f, 2.0f, 2.0f);

【讨论】:

    【解决方案2】:

    Position, Rotation & Scale是transform的属性,需要修改如下:

    public GameObject sprite;
    
    public float scale = 2.0f;
    
    void ScaleResolution()
    
    {
    
    sprite.transform.localScale = new Vector3(scale, scale, scale);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多