Tutoriels Jeux de plateforme

part5 - La caméra


Création du scripts


Le code

J'indique une dernière fois le cheminement pour créer un scripts, allez sur le dossier Scripts et faites un clic droit Create/C# scripts ou JavaScript.
Nommez le cam_Follow.Allez ensuite, sur la main Camera, dans le la Hierarchy et ajouter lui le scripts cam_Follow.
Ce scripts permettra à la camera de suivre le joueur. Par exemple dans l'editor, mettez le décalage à ces valeurs : X5 / Y1 / Z-15 et le speed à 1.

//Code c#
using UnityEngine;
using System.Collections;

public class cam_Follow : MonoBehaviour {
    public Transform target; // objet a suivre
    public float speed; // vitesse à la laquelle la camera suit le joueur 
    public Vector3 decalage; // si l'on veut situer la camera à un endroit precis par rapport au personnage
	float xPos;// index qui sert à savoir si on regarde à gauche ou à droite

	// Use this for initialization
	void Start () {
        if (target == null)// si la cible visé par la camera est nul on lui assigne le player.
        {
            target = GameObject.Find("Player").transform;
        }
		xPos = decalage.x;//l'indice de position est egale au décalage que l'on a attribuer à la camera.
	}
	
	// Update is called once per frame
	void Update () {
        // la camera ce deplace en fonction du joueur tout en gardant son décalage.
		transform.position = Vector3.Lerp(transform.position, target.position + decalage, speed * Time.deltaTime);

		decalage.x = xPos;// le decalage en x est egale à l'indice de position en x
		/*  je change la valeur de l'indice en fonction de la direction prise par le joueur
			A gauche valeur negative
			A droite valeur positive

			ce qui permet grace au décalage d'avoir un plus grand apercu de ce qui ce passe plus loin dans le niveau.
		 */
		if (Input.GetAxisRaw ("Horizontal") < 0)
		{
			if ( xPos < 0 ){
				xPos = decalage.x;
			}else
			{
				xPos = decalage.x*-1;
			}
		}

		if (Input.GetAxisRaw ("Horizontal") > 0)
		{
			if ( xPos < 0 ){
				xPos = decalage.x*-1;
			}else
			{
				xPos = decalage.x;
			}
		}
	}
}

	

}
// code : JS
#pragma strict
    var  target : Transform; // objet a suivre
    var  speed : float; // vitesse à la laquelle la camera suit le joueur 
    var  decalage : Vector3; // si l'on veut situer la camera à un endroit precis par rapport au personnage
	private var  xPos : float;// index qui sert à savoir si on regarde à gauche ou à droite

	// Use this for initialization
	function Start () {
        if (target == null)// si la cible visé par la camera est nul on lui assigne le player.
        {
            target = GameObject.Find("Player").transform;
        }
		xPos = decalage.x;//l'indice de position est egale au décalage que l'on a attribuer à la camera.
	}
	
	// Update is called once per frame
	function Update () {
	  // la camera ce deplace en fonction du joueur tout en gardant son décalage.
        transform.position = Vector3.Lerp(transform.position, target.position + decalage, speed * Time.deltaTime);
		decalage.x = xPos;// le decalage en x est egale à l'indice de position en x
		/*  je change la valeur de l'indice en fonction de la direction prise par le joueur
			A gauche valeur negative
			A droite valeur positive

			ce qui permet grace au décalage d'avoir un plus grand apercu de ce qui ce passe plus loin dans le niveau.
		 */
		if (Input.GetAxisRaw ("Horizontal") < 0)
		{
			if ( xPos < 0 ){
				xPos = decalage.x;
			}else
			{
				xPos = decalage.x*-1;
			}
		}
			
		if (Input.GetAxisRaw ("Horizontal") > 0)
		{
			if ( xPos < 0 ){
				xPos = decalage.x*-1;
			}else
			{
				xPos = decalage.x;
			}
		}
	}

Fin de la partie 5
  Partie 6 : La vie


  Partie 1 : La création du monde   Partie 2 : La création du personnage   Partie 3 : Les plateformes   Partie 4 : Intéractions plateformes

Les tutoriels que nous vous proposons