Tutoriels Jeux de plateforme
part5 - La caméra
Partie 5 : la caméra
Création du scripts Code
Partie 1 : La création du monde Partie 2 : La création du personnage Partie 3 : Les plateformes Partie 4 : Intéractions plateformes
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;
}
}
}
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