Перемещение игрока C# в UnityC#

Место общения программистов C#
Anonymous
Перемещение игрока C# в Unity

Сообщение Anonymous »

Код работает очень хорошо для перемещения твердого тела с помощью стрелок вправо и влево, но я не могу понять, какой смысл использовать maxVelocity и absVelX, я не знаю их функции в коде... когда я удаляю Оба они работают очень хорошо, но, похоже, мне понадобятся оба на продвинутом уровне игры. это курс от Линды под названием «Основное обучение Unity 2d от Джесси Фримена»

using UnityEngine;

using System.Collections;

public class Player : MonoBehaviour {

public float speed=10f;
public Vector2 maxVelocity=new Vector2(3,5);
public bool standing;
public float jetSpeed=15f;

// Update is called once per frame
void Update () {
//Force resetted each frame
var forceX = 0f;
var forceY = 0f;
var absVelX = Mathf.Abs (rigidbody2D.velocity.x);
var absVelY = Mathf.Abs (rigidbody2D.velocity.y);

if (Input.GetKey ("right")) {
if (absVelX < maxVelocity.x)
forceX = speed;

transform.localScale=new Vector3(1,1,1);//Sprite orignal pose

} else if (Input.GetKey ("left")) {
if (absVelX < maxVelocity.x)
forceX = -speed;

transform.localScale=new Vector3(-1,1,1);//Sprite reversal pose

}
rigidbody2D.AddForce(new Vector2(forceX,forceY));
}
}


Подробнее здесь: https://stackoverflow.com/questions/273 ... e-in-unity

Вернуться в «C#»