Page 3 sur 3

Re: [DB-AL] Déplacer un objet à une certaine distance.

Publié : 29 Août 2017 20:45
par Max
cortoh a écrit :
29 Août 2017 19:30
Et bien du coup je vais continuer en C# vu qu'il faudra le faire tôt ou tard
dans ce cas prend ton temps, et n'hésite pas à faire quelques tuto, comme ceux d'OpenClassRoom par exemple.
cortoh a écrit :
29 Août 2017 19:30
j'ai monté une maquette avec ton bout de code, je tente de faire déplacer le cube en continue en fonction du variable mais je n'y arrive pas.
ben poste ton code, cela permettra justement de voir où tu en est.
cortoh a écrit :
29 Août 2017 19:30
Sinon tu considères être vieux à partir de quel age ?
sais pas. Par contre ayant tapé mes premières lignes de code il y a 35 ans, j'peux difficilement jouer les jeunots...
:mrgreen:

Re: [DB-AL] Déplacer un objet à une certaine distance.

Publié : 30 Août 2017 20:33
par cortoh
Bonsoir,

J'ai repris mon code javascript précedent pour le terminer vu que j'ai passé pas mal de temps dessus je voudrais arriver au résultat escompter, j'ai inserrés des quads dans un gameObjet vide (cont_cube_1) pour contenir les faces de mon cube, actuellement j'ai un script que je test pour une première face pour l'axe z, alors ça fonctionne très bien quand mon cube est dans une valeur positive en (z) là il se déplace en mouvement d'une case, mais en valeur négative il avance directement d'une case, j'ai passé pas mal d'heures dessus mais je n'ai pas trouvé de solution, un peu d'aide serait la bienvenue.

Mon code complet pour une face:

Code : Tout sélectionner

	
	public var bloc: GameObject; 	// Obstacle
	public var cont_cube_1:Transform; 	// On désigne le cube à diriger, celui-ci contient la face à cliquer et un collider sur la face opposée
	public var cubeSelection: int = 0;	// Déplacement
	public var posi_cont_cube_1: int = 0; 	// Position de départ du conteneur
	public var posi_enCours: int = 0; 	// Position en cours du conteneur
	public var contact: int = 0;		// Si contact avec un autre objet on passe la variable sur 1

	



// ONMOUSEDOWN ///////////////////////////////////////////////////////////////

	function OnMouseDown() {
	
	posi_cont_cube_1 = cont_cube_1.transform.localPosition.z;	

	if (contact == 0) {	 // Si le contact est à zéro alors le cube n'a pas d'obstacle en z

	cubeSelection = 1;	 // Autorisation de déplacement

	}  
	}

// ON TRIGGER ENTER /////////////////////////////////////////////////////

	function OnTriggerEnter (other : Collider) {
		
		if (other.gameObject.tag == "bloc") {

		contact = 1;

		}
		}

// ON TRIGGER EXIT /////////////////////////////////////////////////////
	
	function OnTriggerExit (other : Collider) {
		
		if (other.gameObject.tag == "bloc") {

		contact = 0;

		}	
		}

// UPDATE ///////////////////////////////////////////////////////////////

	function Update () {

	posi_enCours = cont_cube_1.transform.localPosition.z;
	
	if (posi_enCours > posi_cont_cube_1) {

	cubeSelection = 0; // Je stop le cube

	cont_cube_1.transform.position.z = posi_enCours; // Je corrige avec précision la position du cube en utilisant la valeur "posi_enCours"

	}


	if (cubeSelection == 1) {
		
	cont_cube_1.transform.Translate(Vector3(0,0,2) * Time.deltaTime); // Le cube peut ce déplacer
		
	}	


} // Fin de l'Update