- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Publicado por
0nironauta (Jorge García)
el
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Si estáis haciendo un shooter o inluso una aventura en tercera persona y necesitáis una cruceta en el centro de la pantalla para apuntar al objetivo, hacerlo con Unity es muy sencillo. Vamos a ver lo que necesitamos. Lo primero es una cruceta para situar en el centro de la pantalla.
Luego hacemos un pequeño script, que añadimos a la cámara:
A continuación calculamos la posición de la textura de la cruceta. Para ello llamamos a la clase Rect, que crea un rectángulo. Los valores que necesitamos son la posición y las dimensiones:
Rect(posX: float, posY: float, width: float, height: float)
posX: ancho de la pantalla - ancho de la imagen de la cruceta, partido por 2 (centro)
posY: alto de la pantalla - alto de la imagen de la cruceta, partido por 2 (centro)
width: ancho de la cruceta
height: alto de la cruceta
Lo siguiente que hacemos es rellenar la función OnGUI, que se llama en cada frame y dibuja en la capa GUI (Game User Interface) lo que le indiquemos, en este caso, que dibuje una textura en la posición dada.
La cruceta siempre estará centrada en la pantalla y servirá de ayuda a la puntería.
Referencia: http://docs.unity3d.com/Documentation/ScriptReference/Screen-lockCursor.html
Cruceta |
var cruceta: Texture2D;
var posicion: Rect;
function Start(){
Screen.lockCursor = true;
posicion= Rect((Screen.width-cruceta.width)/2,(Screen.height-cruceta.height)/2,cruceta.width, cruceta.height );
}
function OnGUI(){
GUI.DrawTexture( posicion, cruceta);
}
En la función start seteamos Screen.lockCursor a true. Esto hace que el puntero del ratón se oculte automáticamente y se centre en la pantalla. Además, impedirá que salga de la pantalla de juego (pulsad la tecla escape cuando hagáis pruebas).
A continuación calculamos la posición de la textura de la cruceta. Para ello llamamos a la clase Rect, que crea un rectángulo. Los valores que necesitamos son la posición y las dimensiones:
Rect(posX: float, posY: float, width: float, height: float)
posX: ancho de la pantalla - ancho de la imagen de la cruceta, partido por 2 (centro)
posY: alto de la pantalla - alto de la imagen de la cruceta, partido por 2 (centro)
width: ancho de la cruceta
height: alto de la cruceta
Lo siguiente que hacemos es rellenar la función OnGUI, que se llama en cada frame y dibuja en la capa GUI (Game User Interface) lo que le indiquemos, en este caso, que dibuje una textura en la posición dada.
(click para ampliar) |
La cruceta siempre estará centrada en la pantalla y servirá de ayuda a la puntería.
Referencia: http://docs.unity3d.com/Documentation/ScriptReference/Screen-lockCursor.html
Comentarios
Publicar un comentario