[RESOLU] Player Vidéo

Questions à propos du GUI, y compris la partie script.
Répondre
Noodle09
Messages : 32
Inscription : 25 Mai 2011 14:37

[RESOLU] Player Vidéo

Message par Noodle09 » 25 Mai 2011 16:58

Bonjour tout le monde,

Je débute sur Unity et j'ai besoin de vos lumières pour m'aider à résoudre un petit soucis..
J'essaie de mettre en place un "player" pour vidéo, une barre avec les boutons lecture, stop et pause donc.
Je pourrais faire ca avec un GUITexture pour le fond et 3 boutons MAIS...j'aimerais pouvoir déplacer voir réduire ce player (déplacer serait déjà beaucoup !)

DONC, j'ai fini par réussir à trouver comment mettre ma texture de fond pour le menu, et maintenant j'aimerais mettre en place les boutons qui seraient des images (et pas du simple texte comme dans le manuel)

Voilà le principe:

Code : Tout sélectionner

var BackgroundTexture : Texture2D;
var PlayTexture : Texture2D;
var PauseTexture :  Texture2D;
var StopTexture : Texture2D;

function OnGUI () {
	// background texture
	guiTexture.texture = BackgroundTexture;

	//if (button PlayTexture pressed) {
	//		play ;
	//	}

		//if (button PauseTexture pressed) {
	//		pause;
	//	}
	
		//if (button StopTexture pressed) {
	//		stop;
	//	}
	
}
Ensuite sur le manuel de base, j'ai bien trouvé ceci pour faire en sorte de pouvoir déplacer un menu, mais comment l'adapter à mon image ?

Code : Tout sélectionner

/* Window example */

var windowRect : Rect = Rect (20, 20, 120, 50);

function OnGUI () {
	windowRect = GUI.Window (0, windowRect, WindowFunction, "My Window");
}

function WindowFunction (windowID : int) {
	// Draw any Controls inside the window here
}
Merci d'avance pour votre aide !

Ps: Au cas ou cela aurait une importance, ma vidéo est appliquée comme texture sur un objet (écran)
Dernière édition par Noodle09 le 30 Mai 2011 11:14, édité 3 fois.

Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Re: Player Vidéo

Message par kealkeal » 25 Mai 2011 17:12

Dernière édition par kealkeal le 10 Oct 2011 20:11, édité 1 fois.
kealkeal

Noodle09
Messages : 32
Inscription : 25 Mai 2011 14:37

Re: Player Vidéo

Message par Noodle09 » 25 Mai 2011 17:18

Merci pour ton aide je vais essayer ça au plus vite...

Mais ça veut dire qu'à chaque fois que je veux faire d'une image un bouton je suis obligé de la mettre dans un rectangle?
Du type:
(GUI.Button(Rect(x,x,x,x),"nom de la texture");

On peut pas faire sans ? (parce que dans mon cas, ça fait moche les rectangles (cadres) :s)

Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

Re: Player Vidéo

Message par Freelax » 25 Mai 2011 17:28

si avec les guiSkin tu peu crée les textures pour crée les boutons avec les forms que tu veu ;)
Image

Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Re: Player Vidéo

Message par kealkeal » 25 Mai 2011 17:31

Alors je suis pas un expert en code mais bon je vais tenter de t'aider ! :D

Tu peux mettre une GUITexture au format .PNG. Elle sera toujours face à ta caméra. Et ensuite tu mets le script dessus.

Espérant t'avoir aidé !
kealkeal

Noodle09
Messages : 32
Inscription : 25 Mai 2011 14:37

Re: Player Vidéo

Message par Noodle09 » 25 Mai 2011 22:45

Alors tout d'abord merci pour votre aide, elle est la bienvenue...j'ai pu avancé mais...du coup j'ai d'autres questions ^^

1) Mon bouton play apparait en haut à gauche de l'écran, comment pour le placer correctement avec le code ? Peut on lui donner des coordonnées genre: (GUILayout.Button (coordonnée en X et Y) (Btn_Play))

2) J'ai assigné le script à un GUI.Texture, et donc forcément il ne sait pas atteindre "renderere.material.mainTexture" qui est appliqué à un objet. Comment je peux faire pour dire d'aller chercher le mat de mon objet ?



Voici le code actuel:

Code : Tout sélectionner

    var BackgroundTexture : Texture2D;
    var Btn_Play : Texture2D;
    var Btn_Pause :  Texture2D;
    var Btn_Stop : Texture2D;
	var customSkin : GUISkin;

    function OnGUI () {
       
       guiTexture.texture = BackgroundTexture;
	   GUI.skin = customSkin;

         
	   if (GUILayout.Button (Btn_Play)){

if (renderer.material.mainTexture.isPlaying) {
			renderer.material.mainTexture.Pause();
		}
		else {
			renderer.material.mainTexture.Play();
       
		}
	}
	}

Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Re: Player Vidéo

Message par kealkeal » 26 Mai 2011 09:37

Pour positionner ton bouton , dans mon code cela se gére comme ceci :

Code : Tout sélectionner

if (GUI.Button(Rect(10,40,30,25),play))
10 = position en X
40 = position en Y
30 = hauteur
25 = largeur

En espérant que ça t'aide. ;)
kealkeal

Noodle09
Messages : 32
Inscription : 25 Mai 2011 14:37

Re: Player Vidéo

Message par Noodle09 » 26 Mai 2011 10:01

Oui et non...

Oui parce que si je met la texture dans un rectangle, cela marche très bien:

Code : Tout sélectionner

if (GUI.Button(Rect(1290,680,30,30),Btn_Play)){
Non, parce que je veux pas voir de rectangle justement...

Ce qui est faisable grâce au GUIskin (merci pour l'info!)

Code : Tout sélectionner

GUILayout.Button(Btn_Play);
Mais je comprend pas comment lui donner des coordonnées... avec l'aide d'un "GUIStyle.imagePosition" ?

Merci d'avance !

Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Re: Player Vidéo

Message par kealkeal » 26 Mai 2011 10:40

L'affichage de ton rectangle se gère dans ta SKIN.

Tu peux mettre un screenschot du résultat que tu as ? :roll:
kealkeal

Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Re: [RESOLU] Player Vidéo

Message par kealkeal » 18 Août 2011 17:01

Je pense avoir la solution a ton problème.

Dans ton GUISkin tu vas dans l'onglet qui s'appel "Button".

Tu verras que tu peux y mettre des images en arrière plan.

Le carré que tu vois est ce qu'affiche le GUISkin par défaut.

En espérant t'avoir aidé. ;)
kealkeal

Répondre

Revenir vers « L'interface GUI »