Unity3D - Cruceta para apuntar. Tutorial básico

 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.

cruceta
Cruceta
Luego hacemos un pequeño script, que añadimos a la cámara:


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