[C#] UI Cursor

Cette section est destinée aux scripts partagés par la communauté. Chaque post est destiné à un script. Suivez bien les recommandations.
Avatar de l’utilisateur
stigma
Messages : 1400
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: [C#] UI Cursor

Message par stigma » 09 Fév 2016 18:36

Le problème de Playmaker c'est qu'il est à la ramasse en ce moment en ce qui concerne la gestion du curseur. Jean Fabre le créateur semble avoir de gros soucis suite à l'évolution de Unity. J'espère qu'il va réparer ça. J'aurais bien aimé voir Playmaker intégré à Unity comme Blue Print pour UE4 par exemple.

Et sans utiliser Playmaker, il faudrait que je fasse comment pour que ma caméra 2 ait le curseur libre ?

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [C#] UI Cursor

Message par boubouk50 » 09 Fév 2016 18:59

Je dirai que lors de son activation, tu libères le curseur. La question est: Qu'est ce qui l'active ou comment elle est activée? C'est quoi cette bascule? La caméra devient principale? La caméra s'active? Il faut trouver le bon déclencheur pour pouvoir associer l'activation du curseur.

Code : Tout sélectionner

public UICursor myCursor;
...
//fonction a appeler lors du déclencheur
public void UnlockCursor () {
	myCursor.SetUICursorLock(false);
	myCursor.SetUICursorVisible(true);
}
Si c'est l'activation de la caméra, alors mettre le script sur la caméra

Code : Tout sélectionner

public UICursor myCursor;
...
void Update () {
	if (this.gameObject.activeInHierarchy) {
		myCursor.SetUICursorLock(false);
		myCursor.SetUICursorVisible(true);
	}
}
Bon, j'aime pas trop mettre ça dans l'Update () mais bon là rapido, ça passe.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
stigma
Messages : 1400
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: [C#] UI Cursor

Message par stigma » 09 Fév 2016 19:15

Je bascule sur une caméra 2 qui devient la principale, le temps que le joueur fasse des manips à l'écran. A la fin, on revient à la caméra principale (First Person Controller) et le curseur revient fixe au centre de l'écran.

Edit:
J'ai fait une scène de test où la caméra 2 serait sélectionnée en cliquant sur le cube (Playmaker n'est pas utilisé ici)
https://dl.dropboxusercontent.com/u/130 ... itypackage
Merci d'avance
Dernière édition par stigma le 18 Fév 2016 11:59, édité 1 fois.

Avatar de l’utilisateur
stigma
Messages : 1400
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: [C#] UI Cursor

Message par stigma » 17 Fév 2016 14:21

En d'autres termes, comment créer une fonction "on clic" ? J'ai pas mal cherché mais rien trouvé.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [C#] UI Cursor

Message par boubouk50 » 17 Fév 2016 14:30

OnPointerDown (PointerEventData eventData)

Cette fonction est appelée lorsque qu'un clic est fait sur l'objet associé.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
MasterNovice
Messages : 610
Inscription : 23 Juil 2011 16:03

Re: [C#] UI Cursor

Message par MasterNovice » 22 Fév 2016 20:51

Si tu veux utiliser PlayMaker tu peux appeler les fonctions de mon script avec callmethods https://hutonggames.fogbugz.com/default.asp?W1139
te suffit de mettre le nom de la fonction, son type et sa valeur, du moins c'est ce que j'ai cru comprendre en regardant la doc.

Avatar de l’utilisateur
stigma
Messages : 1400
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: [C#] UI Cursor

Message par stigma » 23 Fév 2016 16:56

Le nom de la méthode à appeler, ce serait "UI Cursor Lock" ?

Avatar de l’utilisateur
MasterNovice
Messages : 610
Inscription : 23 Juil 2011 16:03

Re: [C#] UI Cursor

Message par MasterNovice » 23 Fév 2016 17:23

J'ai mis tout les noms des fonctions en commentaire en début de script :

Code : Tout sélectionner

 * - GetUiCursorLock() : renvoi true si l'UI Curseur est lock au centre de l'écran
 * - GetUICursorVisible() : renvoi true si l'UI Curseur est visible
 * - SetUICursorLock(bool locked) : Lock et delock l'UI Curseur au centre de l'écran
 * - SetUICursorVisible(bool visible) : rend visible ou invisible l'UI Curseur à l'écran
 * - ChangeUICursor(int numeroSprite = -1) : permet de changer le sprite de l'UI Curseur en fonction de l'index du tableau. 
 * laisser vide pour réinitialiser l'UI Curseur par défaut
Le nom de la fonction c'est : SetUICursorLock tu ajoute 1 paramètre je suppose de type bool et ensuite comme valeur false ou true en fonction de ton besoin. Je n'ai pas playmaker, donc je ne peux pas te donner d'exemple précis. Tu as le nom de la fonction et le type de paramètre à lui envoyer entre parenthèse. Demande sur le forum consacré à playmaker comment appeler une fonction c#

Avatar de l’utilisateur
stigma
Messages : 1400
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: [C#] UI Cursor

Message par stigma » 27 Fév 2016 11:15

Dans "Method Name" j'ai mis SetUICursorLock
Mais après je ne sais pas comment le mettre à false ou true

Edit:
[deprime]Si mon projet n'était pas aussi avancé, je serais sur le point d'abandonner Unity pour IE4[/deprime]

Répondre

Revenir vers « Scripts »