我想以统一的方式改变播放器的速度,但我无法从另一个脚本访问CharacterMotor。我搜查了实习生,我发现了这个(对于C#):
Player = GameObject.FindGameObjectsWithTag("Player")[0];
Player.GetComponent("CharacterMotor").
CharacterMotorMovement.maxForwardSpeed = 6.0;
但这不起作用,我收到错误:
Assets/Scripts/MainScript.cs(60,63): error CS1061:
Type `UnityEngine.Component' does not contain a definition for
`CharacterMotorMovement' and no extension method
`CharacterMotorMovement' of type `UnityEngine.Component' could be
found (are you missing a using directive or an assembly reference?)
我已经尝试过一些事情,但是我有点担心这样一个事实:我搜索的每个地方都提供了相同的解决方案。有谁可以帮助我?
答案 0 :(得分:0)
我遇到了同样的问题。事实证明这是因为标准的CharacterController脚本是用javascript编写的,你不能从C#脚本中引用CharacterMotor类。
幸运的是,有人已经将CharacterMotor,FSInputController和PlatformInputController转换为C#。
答案 1 :(得分:-1)
现在它说你必须将CharacterMovement脚本附加到Player对象。