je vais vous mètre tout les scripts qui me paraissent suspect :
la camera :
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour
{
// written by herman darr july 20 2014 6:12PM
public Transform playerToFollow;
void FixedUpdate()
{
if (playerToFollow)
{
Vector3 newPosition = transform.position;
newPosition.z = playerToFollow.position.z;
transform.position = newPosition;
}
}
}
Code : Tout sélectionner
using System.Collections;
using UnityEngine;
public class PalyerController : MonoBehaviour
{
private CharacterController controller;
private Vector3 direction;
public float forwardSpeed;
public float maxspeed;
private int desiredLane = 1;//0 :left 1:middle 2:right
public float laneDistance = 4; //la distance
void Start()
{
controller = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update()
{
if(forwardSpeed < maxspeed)
forwardSpeed += 0.1f * Time.deltaTime;
direction.z = forwardSpeed;
if (SwipeManager.swipeRight)
{
desiredLane++;
if (desiredLane == 3)
desiredLane = 2;
}
if (SwipeManager.swipeLeft)
{
desiredLane--;
if (desiredLane == -1)
desiredLane = 0;
}
Vector3 targetPosition = transform.position.z * transform.forward + transform.position.y * transform.up;
if(desiredLane == 0)
{
targetPosition += Vector3.left * laneDistance;
}else if (desiredLane == 2)
{
targetPosition += Vector3.right * laneDistance;
}
if (transform.position == targetPosition)
return;
Vector3 diff = targetPosition - transform.position;
Vector3 moveDir = diff.normalized * 25 * Time.deltaTime;
if (moveDir.sqrMagnitude < diff.sqrMagnitude)
controller.Move(moveDir);
else
controller.Move(diff);
}
private void FixedUpdate()
{
controller.Move(direction * Time.fixedDeltaTime);
}
private void OnControllerColliderHit(ControllerColliderHit hit)
{
if (hit.transform.tag == "obstacle")
{
PlayerManager.gameOver = true;
}
}
}