Déplacer Rect Transform

Questions à propos du GUI, y compris la partie script.
Leuprochon
Messages : 60
Inscription : 04 Déc 2017 19:12

Déplacer Rect Transform

Message par Leuprochon » 04 Déc 2017 19:28

Bonjour à tous !

Alors tout d'abord voici une petite présentation :
Je suis Graphiste 3D Freelance et je me lance tout juste (depuis quelques jours) sur Unity pour réaliser de la RA.
Jusqu'à présent tout se passe bien, j'ai réussi à faire à peu prêt ce que je voulais mais je bloque sur un truc !

Donc mon but est de réaliser une RA sur une 3D avec anim que j'ai réalisé. J'ai réussi à faire le tracking sur une photo ( plutôt simple ... Mais je vais le faire sur un objet réel après ). J'ai réussi à afficher/dés-afficher les menus en fonction de mon tracker qui est visible ou invisible.
Par contre j'aurais aimé réaliser un petit effet de "scanner". Donc pour ça j'ai créer un "pannel", via le menu UI, que je fais bouger. Sauf que le but c'est qu'une fois arriver au bout de l'écran le "pannel" revienne au début et c'est la que je bloque.

Voici ce que j'ai réussi à obtenir jusqu'à présent :

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Scanne_Position : MonoBehaviour {

	RectTransform myRectTransform;

		void Start()
		{
		myRectTransform = GetComponent<RectTransform> ();
		myRectTransform.localPosition = new Vector3(-Screen.width/2,0,0);
		}

		void OnGUI()
	{
		myRectTransform.localPosition += Vector3.right * 3;
		if (myRectTransform.localPosition == new Vector3(Screen.width/2,0,0)) 
		{
			myRectTransform.localPosition = new Vector3(-Screen.width/2,0,0);
		} 
			
	}
		
	}
Pour préciser le 0 équivaut au centre de mon écran ( je ne sais pas pourquoi )
J'aurais voulu mettre if (myRectTransform.localPosition > new Vector3(Screen.width/2,0,0)) mais le > n'est pas accepté je ne sais pas pourquoi.

Bref, si quelqu'un a une solution je suis preneur !!

Merci beaucoup !

Leuprochon
http://www.quentincouvreur.com

Leuprochon
Messages : 60
Inscription : 04 Déc 2017 19:12

Re: Déplacer Rect Transform

Message par Leuprochon » 06 Déc 2017 13:37

Je pense avoir trouvé la solution, voici ce que ça donne :

Code : Tout sélectionner

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Scanne_Position : MonoBehaviour {

	Transform myTransform;
	float a = Screen.width/2;

		void Start()
		{
		myTransform = GetComponent<RectTransform> ();
		myTransform.localPosition = new Vector3(-a,0,0);
		}

		void OnGUI()
	{
		
		myTransform.localPosition += Vector3.right * 5;
		if (myTransform.localPosition.x > a)
		{
			myTransform.localPosition = new Vector3(-a,0,0);
		} 
			
	}
		
	}

Répondre

Revenir vers « L'interface GUI »