微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CS1061:“转换”不包含“LocalScale”

如何解决CS1061:“转换”不包含“LocalScale”

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

错误如下: Assets\Scripts\Player.cs(12,21): error CS1061: 'Transform' 不包含 'LocalScale' 的定义,并且找不到接受类型为 'Transform' 的第一个参数的可访问扩展方法 'LocalScale'(是您是否缺少 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);
        }
    }
}

附言我试图对代码使用括号,结果很奇怪,它不会封装代码。所以我省略了它们。对不起:D

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。