Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

(función) clickar en un objeto 3D y que en pantalla aparezcan botones

Iniciado por kantusalfa, Octubre 15, 2015, 07:02:11 PM

Tema anterior - Siguiente tema
 hola como he mencionado busco una función que me permita clickear en un objeto 3D y que en pantalla aparezcan botones  O que al clickear en un objeto 3D  se produzca un cambio de escena(ojo al clickear ,no al pasar). os dejo este script donde al pinchar sobre el objeto puedo moverlo,no se como puedo modificar lo para que se ejecute un  loadlevel1 o la función  que cumpla con el fin descrito. 

using UnityEngine;

using System.Collections;

 

public class mouseDrag : MonoBehaviour {

 

                float distance = 10;

 

                void OnMouseDrag () {

                               Vector3 mousePosition = new Vector3 (Input.mousePosition.x, Input.mousePosition.y, distance);

                               Vector3 objPosition = Camera.main.ScreenToWorldPoint (mousePosition);

                               transform.position = objPosition;

                }

}cualquier información al respecto seria de ayuda (nombre ,vídeo, scipt etc), un saludo.


Octubre 15, 2015, 07:42:20 PM #1 Ultima modificación: Enero 01, 1970, 01:00:00 AM por Antonio
Hola Kantusalfa.

Algunas de las funciones para el ratón que puedes encontrar aqui ( http://docs.unity3d.com/ScriptReference/30_search.html?q=Monobehaviour ) son:
 
void OnMouseDown ()
{
    //Este trozo se ejecuta cuando el jugador pulsa click en el objeto con este script.
}

void OnMouseEnter ()
{
    //Este trozo se ejecuta cuando el jugador entra con el ratón en el área del objeto de este script.
}

void OnMouseOver ()
{
    //Este trozo se ejecuta en cada frame mientras el jugador esté con el ratón sobre el área del objeto de este script.
}

void OnMouseExit ()
{
    //Este trozo se ejecuta cuando el jugador abandona con el ratón el área del objeto de este script.
}
Por lo que, para que las funciones se activen en el momento en que haces click con el ratón, lo que debes usar es la 1º función, OnMouseDown. ( http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseDown.html ). 
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void OnMouseDown()
    {
        Application.LoadLevel("SomeLevel");
    }
}

Recuerda que tu botón 3d, debe tener un collider que será lo que le diga qué área tiene el botón. También deberás compilar tu nivel (Arriba a la izquierda, File -> Build Settings...) para que tu scena aparezca en la lista, en "SomeLevel" pones el nombre de la escena entre comillas.


Etiquetas: