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

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
Max
Messages : 8763
Inscription : 30 Juil 2011 13:57
Contact :

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

Message par Max » 29 Août 2017 20:45

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:
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

cortoh
Messages : 159
Inscription : 22 Nov 2014 23:05

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

Message par cortoh » 30 Août 2017 20:33

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

Verrouillé

Revenir vers « (Js) Javascript »