[JS] - guiFollowMouse.js- guiTexture qui suit la souris

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
krys64
Fondateur unity3d-france
Fondateur unity3d-france
Messages : 471
Inscription : 26 Nov 2009 00:08

[JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par krys64 » 19 Mai 2012 16:34

-NOM DU SCRIPT : guiFollowMouse

-AUTEUR(S): Krys

-DESCRIPTION : guiTexture qui suit le mouvement et la position de la souris.

-UTILISATION :
Placer le script sur la caméra, créer un gameObject avec une guiTexture sur la scène, placer le gameObject dans la variable GUIShoot.

-SCRIPT :

Code : Tout sélectionner

#pragma strict

public var GUIShoot:GameObject;

private var screen_pos:Vector3;

function Start(){
    Screen.showCursor = false;
    GUIShoot.guiTexture.pixelInset.x=-GUIShoot.guiTexture.pixelInset.width/2;
    GUIShoot.guiTexture.pixelInset.y=-GUIShoot.guiTexture.pixelInset.width/2;
}

function Update () {
    screen_pos = Input.mousePosition;
    screen_pos.x /= Screen.width;
    screen_pos.y /= Screen.height;
    GUIShoot.transform.position = screen_pos; 
} 

Avatar de l’utilisateur
mel68
Messages : 827
Inscription : 04 Fév 2012 14:57

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par mel68 » 19 Mai 2012 22:05

si j'ai bien compris ce script peut permettre de remplacer la souris par une texture :?:

en tout cas merci pour le script :)
Bonjour bonjour, je tien juste a vous avertir promptement que ce message ne sert totalement a rien

Avatar de l’utilisateur
Marc_S
Messages : 330
Inscription : 14 Fév 2012 16:30
Localisation : Paris
Contact :

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par Marc_S » 18 Juin 2012 01:37

Merci pour ce script qui marche très bien.

Un seul détail me pose problème: il force les coordonnées du GUITexture dont celle du z qui est bloquée sur zéro, du coup le curseur passe sous certains éléments. La solution serait de lui imposer une grande valeur comme 999 pour garantir au curseur de toujours être au premier plan.

J'ai essayé de modifier le script mais sans succès. Quelqu'un aurait-il une solution?

Avatar de l’utilisateur
Loulou
Messages : 239
Inscription : 23 Nov 2011 01:04
Localisation : Paris
Contact :

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par Loulou » 18 Juin 2012 13:38

Je me permets de changer ton script en suivant les recommandations de cayou qui demande de ne plus utiliser les guiTextures.
viewtopic.php?f=9&t=3937&p=24591&hilit= ... ure#p24573
@Marc_s : le paramètre guiDepth devrait te permettre de régler ton problème

-DESCRIPTION : affiche la texture passé en parametre aux coordonnées du curseur

-UTILISATION : Placer le script sur un gameObject.
  • Texture2D texture : texture affichée.
    bool centerTexture : cocher si le centre de la texture doit être sur le curseur / ne pas cocher si le coin supérieur gauche doit être sur le curseur.
    bool showNatifCursor : cocher pour garder le curseur natif du système / ne pas cocher pour cacher le curseur natif du système.
    int guiDepth : profondeur a laquelle la texture sera affiché. ( équivalent du z-index ).

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class GuiFollowMouse : MonoBehaviour {

    public Texture2D texture;
    public bool centerTexture, showNatifCursor;
    public int guiDepth;

	void Start () 
    {
        Screen.showCursor = this.showNatifCursor;
	}

    void OnGUI()
    {
        // change la profondeur d'affichage (z-index) de la texture
        GUI.depth = this.guiDepth;

        // recupere la position du curseur et inversse la coordonée Y
        // Pour le rect 0,0 = Top-Left pour mousePosition 0-0 = bottom-left
        Vector3 mouseScreenPosition = Input.mousePosition;
        mouseScreenPosition.y = (mouseScreenPosition.y - Screen.height) * -1;
        
        // centre la texture si c'est demandé
        if (this.centerTexture)
        {
            mouseScreenPosition.x -= texture.width / 2;
            mouseScreenPosition.y -= texture.height / 2;
        }

        // crée le rectangle d'affichage et affiche la texture a l'ecran.
        Rect textureRect = new Rect(mouseScreenPosition.x, mouseScreenPosition.y, this.texture.width, this.texture.height);
        GUI.DrawTexture(textureRect, this.texture);
    }
}
Dernière édition par Loulou le 18 Juin 2012 14:13, édité 1 fois.

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par cayou66 » 18 Juin 2012 14:05

Je me permets de changer ton script en suivant les recommandations de cayou qui demande de ne plus utiliser les guiTextures.
8-)

sephitoth
Messages : 495
Inscription : 06 Avr 2012 13:47
Localisation : toulouse

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par sephitoth » 18 Juin 2012 14:50

Je me permets de changer ton script en suivant les recommandations de cayou qui demande de ne plus utiliser les guiTextures.
Cayou rules !!!
J'étais athée jusqu’à ce que je découvre que j'étais dieu !

Avatar de l’utilisateur
Loulou
Messages : 239
Inscription : 23 Nov 2011 01:04
Localisation : Paris
Contact :

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par Loulou » 18 Juin 2012 15:15

Attention au chevilles quand même hein :p

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par cayou66 » 18 Juin 2012 15:17

De toute façon je ne jure plus que par NGUI maintenant :)

Avatar de l’utilisateur
giyomuSan
Messages : 1799
Inscription : 09 Déc 2009 14:52
Localisation : Japon

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par giyomuSan » 19 Juin 2012 05:56

cayou66 a écrit :De toute façon je ne jure plus que par NGUI maintenant :)
lol deserteur :D

sephitoth
Messages : 495
Inscription : 06 Avr 2012 13:47
Localisation : toulouse

Re: [JS] - guiFollowMouse.js- guiTexture qui suit la souris

Message par sephitoth » 19 Juin 2012 10:08

cayou66 a écrit :De toute façon je ne jure plus que par NGUI maintenant :)
la fin d'un mythe :lol:
J'étais athée jusqu’à ce que je découvre que j'étais dieu !

Répondre

Revenir vers « Scripts »