问题描述
我正在学习做一些游戏开发,而且我是 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