Fonctions et code Unity (JS) – 2 eme partie – Controles

Récupérer les valeurs des touches directionnelles

// 0 si inutilisé, 1 ou -1

//Axe vertical (haut/bas)
Input.GetAxis("Vertical");
//Axe horizontal
Input.GetAxis("Horizontal");

Convertir la position locale en position globale

// localPosition du type Vector3
globalPosition = transform.TransformDirection(localPosition);

Convertir la position locale en position globale

// localPosition du type Vector3
globalPosition = transform.TransformDirection(localPosition);

Récupérer un composant

GetComponent(composant);

Nous allons voir un exemple simple et concret, une partie du script natif d’Unity First Person Controler :

var speed = 6.0; 
private var jumpSpeed = 8.0;
var gravity = 20.0;
private var moveDirection = Vector3.zero; // Stocke la direction du joueur
private var grounded:boolean = false; // Signale si le joueur est en contact avec le sol

// Identique à la fonction Update(), mais n'est pas dépendante du nombre d'images par seconde
function FixedUpdate(){
// Le joueur est bien en contact avec le sol
if(grounded) {
// On récupère dans un vecteur temporaire (défini sur la position locale) les entrées des touches directionnelles
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
// On transforme le vecteur local en vecteur global
moveDirection = transform.TransformDirection(moveDirection);
// On multiplie par le coefficient de vitesse
moveDirection *= speed;
// Si le joueur appuie sur la touche de saut
if(Input.GetButton ("Jump")) {
 moveDirection.y = jumpSpeed;
}
}

Activer la collision avec un objet

function OnControllerColliderHit(hit : ControllerColliderHit){
if(hit.gameObject.tag == "tagdelobjet"){
// Action(s)
objetTouche = hit.gameObject;

}
}

1 commentaire

  1. It’s hard to find well-informed people in this particular topic, however, you seem like you know what
    you’re talking about! Thanks

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Website Protected by Spam Master


*