[RESOLU]Portée clic de la souris

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Etrenatal
Messages : 4
Inscription : 21 Sep 2014 12:56

[RESOLU]Portée clic de la souris

Message par Etrenatal » 02 Oct 2014 16:21

Voila donc je debute sur unity et je me retrouve face a un probleme.
Enfait plusieur probleme.
Enfait j'ai fait un script permettant d'ouvrir une porte en cliquant dessus alors j'ai pensé a faire 2 GameObject et de faire 2 script par porte comme ceci:

Sur la porte fermée donc pour l'ouvrir:

Code : Tout sélectionner

	//Script a mettre sur la porte fermée
	public GameObject PorteFermée;
	public GameObject PorteOuverte;

	void Start ()
	{
		PorteOuverte.SetActive (false);
	}

	void OnMouseDown ()
	{
		PorteOuverte.SetActive (true);
		PorteFermée.SetActive (false);
	}
}
Et sur la porte ouverte pour la fermer:

Code : Tout sélectionner

	// Script a mettre sur la porte ouverte
	public GameObject PorteFermée;
	public GameObject PorteOuverte;

	void OnMouseDown ()
	{
		PorteOuverte.SetActive (false);
		PorteFermée.SetActive (true);
	}
}
Et de déclencher au clic une animation et un son de porte qui s'ouvre et se ferme.
Les scripts marchent mais j'ai plusieur probleme, je ne sais pas comment délencher une animation avec un script, ni déclencher un son et je ne trouve pas la solution.
Ensuite mon 2e probleme c'est que le clic de ma souris a une portée illimitée donc j'ai chercher sur la doc, mais soi parceque je suis tres mauvais een anglais ou alors je sais pas choisir mes mots clefs je n'ai pas trouvé de solution.
Donc pourriez vous m'eclairer ou me donner une idée de script différent pour ouvrir la porte ça m'aiderais beaucoup.

Merci d'avoir lu et merci d'avance pour votre aide.

Pico57
Messages : 576
Inscription : 19 Fév 2013 16:30
Localisation : Cluny

Re: Portée clic de la souris

Message par Pico57 » 02 Oct 2014 16:45

Bonjour,

oulala, très mauvaise idée ce que tu nous fais là il me semble. A moins que tes 2 portes soient différentes, ce dont je doute), tu ne dois pas créer 2 objets pour faire cela. Tu dois utiliser une seule porte et la faire bouger plutôt que d'en avoir une dans chaque position. C'est le principe même de l'animation dont tu parles, tu doit simplement changer les valeurs de rotation du transform de l'objet régulièrement au cours du temps afin d'obtenir l'ouverture.

Tu as 2 solutions pour cela
- L'animation d'Unity, tu as des tutos ici : http://unity3d.com/learn/tutorials/modu ... /animation
- Via script en utilisant un Mathf.Lerp sur le composant Transform.rotation de l'objet.
Petite astuce : ton objet va tourner autour de son pivot. Penses à mettre ta porte dans un objet parent et à la position de façon à ce que sa charnière soit sur l'axe du pivot du parent. Ainsi, tu fait tourner le parent au lieu de la porte elle même et ta porte tournera autour de sa charnière.

Répondre

Revenir vers « Scripting »