Unity 4.0.0 に問題があります。AngryBots プロジェクトを再生するとき、または単純なウォーキング スクリプトで独自の char を作成するときでさえ、ボタンを押さなくても自動的にウォーキングします。
Unity をアンインストールしようとしました。Unity の古いバージョンで試しました。レジストリからも削除しましたが、それでも同じ動作が得られます。なぜそれが起こるのですか?それはバグですか、それとも何か間違っていますか?
var speed = 6.0;
var jumpSpeed = 8.0;
var gravity = 20.0;
private var moveDirection = Vector3.zero;
private var grounded : boolean = false;
function FixedUpdate() {
if (grounded) {
// We are grounded, so recalculate movedirection directly from axes
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, 0);
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButton ("Jump")) {
moveDirection.y = jumpSpeed;
}
} // Apply gravity
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
var controller : CharacterController = GetComponent(CharacterController);
var flags = controller.Move(moveDirection * Time.deltaTime);
grounded = (flags & CollisionFlags.CollidedBelow) != 0;
}
@script RequireComponent(CharacterController)
私はすべての歩行文字にこのスクリプトを使用していますが、動作しますが、現在は自動的に歩行しています。