Unity 2d saut script
Quelqu'un aurait-il un bon saut de script pour les jeux 2d dans l'unité? Le code que j'ai fonctionne, mais est encore loin de sauter, on dirait qu'il est en train de voler.
using UnityEngine;
using System.Collections;
public class movingplayer : MonoBehaviour {
public Vector2 speed = new Vector2(10,10);
private Vector2 movement = new Vector2(1,1);
//Use this for initialization
void Start () {
}
//Update is called once per frame
void Update () {
float inputX = Input.GetAxis ("Horizontal");
float inputY = Input.GetAxis ("Vertical");
movement = new Vector2(
speed.x * inputX,
speed.y * inputY);
if (Input.GetKeyDown ("space")){
transform.Translate(Vector3.up * 260 * Time.deltaTime, Space.World);
}
}
void FixedUpdate()
{
//5 - Move the game object
rigidbody2D.velocity = movement;
//rigidbody2D.AddForce(movement);
}
}
OriginalL'auteur user3189504 | 2014-08-17
Vous devez vous connecter pour publier un commentaire.
Généralement pour le saut de gens utilisent
Rigidbody2D.AddForce
avecForcemode.Impulse
. Il peut sembler que votre objet est enfoncée une fois dans l'axe Y et il tombera automatiquement due à la gravité.Exemple:
OriginalL'auteur Jay Kazama
La réponse ci-dessus est maintenant obsolète avec l'Unité 5 ou plus récent. Utiliser ce lieu!
Je tiens également à ajouter que cela laisse de la hauteur de saut super privé et modifiable dans le script, c'est donc ce que j'ai fait...
Cela rend à l'endroit où vous pouvez modifier la hauteur de saut dans l'Unité elle-même, sans avoir à revenir en arrière pour le script.
Note de côté, je voulais commenter la réponse ci-dessus, mais je ne peux pas parce que je suis nouveau ici. 🙂
OriginalL'auteur laszlar
Utilisation Addforce() la méthode d'un rigidbody partie, assurez-vous que rigidbody est attaché à l'objet et à la gravité est activé,
quelque chose comme ceci
Voir quelle combinaison et quelles sont les valeurs qui correspond à vos besoins et de les utiliser en conséquence.
Espérons que cela aide
OriginalL'auteur Vmanani