je déplace mon player avec transform.translate en utilisant le vector2.right.
Le problème c'est que je voudrais détecter si il se déplace.
- J'ai essayer avec velocity.magnitude mais sur l'axe x ça me renvoie 0 , sur le Y lors du saut ca renvoie bien les données.
- Ensuite j'ai éssayer avec un script du genre , mais le soucis c'est que les valeurs même arrondie a 1 décimal ne sont pas forcement identique !
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class parallaxScript : MonoBehaviour {
float offest;
public float speed;
public Vector2 Lastposition;
public GameObject Player;
void FixedUpdate ()
{
Vector2 val = Player.transform.localPosition;
if(Lastposition!= val)
{
offest += Input.GetAxis ("Horizontal") * speed * Time.deltaTime;
GetComponent<Renderer> ().material.SetTextureOffset ("_MainTex", new Vector2 (offest, 0));
}
Lastposition = val;
}
}
Ps: je ne peux pas tester les input.getaxis, car j'utilise un background parallax qui defile en fonction du get axis et lorsque mon player rencontre un obstacle, le fond continue de défilé c est tout mon problème !