首页 > 解决方案 > CS1061:“变换”不包含“LocalScale”的定义

问题描述

我正在学习做一些游戏开发,而且我是 C 系列的新手,所以我不知道它的要求是什么。谢谢大家的帮助!我也尝试在发布之前对此进行研究,但找不到任何解决方案。

这是错误:Assets\Scripts\Player.cs(12,21):错误 CS1061:“Transform”不包含“LocalScale”的定义,并且没有可访问的扩展方法“LocalScale”接受“Transform”类型的第一个参数可以找到(您是否缺少 using 指令或程序集引用?)

这是代码:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class Player : MonoBehaviour {

    Transform GFX;
    float flipX;

      void Start() {
        GFX = GetComponentInChildren<SpriteRenderer>().transform;
        flipX = GFX.LocalScale.x;
    }

    void Update() {
        float horz = System.Math.Sign(Input.GetAxisRaw("Horizontal"));
        if(Mathf.Abs(horz) > 0)
        {
            GFX.LocalScale = new Vector2(flipX * horz, GFX.LocalScale.y);
        }
    }
}

PS我尝试对代码使用括号,结果很奇怪,它不会包含代码。所以我省略了它们。对不起 :D

标签: c#game-development

解决方案


https://docs.unity3d.com/ScriptReference/Transform-localScale.html

这只是一个大小写错误。这是localScale和不是LocalScale


推荐阅读