j'essaye de crée un nouveau jeux .
celui ci serais de type RTS (jeux de stratégie).
mon problème pour le moment c'est que je n'arrive pas a déplacer mes joueur instancier vers la position de la sourie auriez vous une solution a cela ?
voici mon script de déplacement :
Code : Tout sélectionner
var PeutAttendre : boolean = true;
var controller : CharacterController ;
var MoveDirection : Vector3 ;
var Ray1 : RaycastHit ;
var vie: float = 20;// ane surtt pas mettre en static sinon les zombie auront tous le meme nb de pv
static var vietotal :float = 5;
static var score : float = 500;
var atteincible : boolean = false;
var anim : Animation ;
var object: GameObject; // L'objet à animer
var respawn : GameObject ;
var zombierespawn : GameObject ;
var isDead : boolean = true ;
var nb = 1 ;
function Start () {
vie = 20 ;
}
function Update () {
//PosPerso = gameObject.Find("test").transform;
PosPerso = GameObject.FindGameObjectWithTag("drapeau").transform;
DirectionPerso = PosPerso.transform.position - transform.position;
if(isDead == true ){
Directiondrapeau = PosPerso.transform.position - transform.position;
if(Directiondrapeau.magnitude <=100)
{
Trouver = true;
}
if(DirectionPerso.magnitude <=2)
{
Trouver = true;
}
if(Directiondrapeau.magnitude <=4)
{
atteincible = true;
}
if(Trouver == true)
{
Directiondrapeau.y = 0;
transform.rotation = Quaternion.Slerp(transform.rotation,Quaternion.LookRotation(Directiondrapeau),0.5);
}
else{
AttRot();
if(Physics.Raycast(transform.position,transform.TransformDirection(Vector3.forward),Ray1,5))
{
if(Ray1.collider.isTrigger == false)
{
ChangRot();
}
}
}
MoveDirection = Vector3.forward * 3 ;
if(atteincible == false){
MoveDirection.y-=1 ;
MoveDirection = transform.TransformDirection(MoveDirection);
controller.Move(MoveDirection * Time.deltaTime);
}
}
if(vie <= 0){
score+=100;
//vietotal -=1;
isDead = true ;
Instantiate(zombierespawn, respawn.transform.position, respawn.transform.rotation);
Destroy(gameObject);
}
}
function AttRot(){
}
function ChangRot()
{
var num1 = Random.Range(-180,181);
transform.rotation = Quaternion.Slerp(transform.rotation,Quaternion.Euler(Vector3(0,num1,0)),0.2);
}
function getHit(damage : int){// ane pas changer le nom de cette fonction car elle une speciale unity
vie -= damage;
}
function OnMouseUp(){
}
PS : j'ai déjà crée un script pour récupéré la positon de la souris le voici :
Code : Tout sélectionner
#pragma strict
var uniter : GameObject;
var camera1 : Camera ;
var ok : boolean = false;
var cible : GameObject;
function Start () {
}
function Update(){
if (Input.GetButtonDown ("Fire1")) {
// Construct a ray from the current mouse coordinates
var rayon : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
var hit : RaycastHit;
if(Physics.Raycast(rayon, hit, 1000)) //Lancement du rayon pour détecter l'objet survolé
if(hit.transform.CompareTag("Player")) //Si le rayon rentre en collision avec un objet taggé carte
{
Debug.Log("sa marche");
}
}
}