Creo el terreno, ubico la luz de tal manera que me lo ilumine (en create selecciono la opción spotlight), configuro la cámara para que me muestre lo que tengo en el terreno iluminado (en create selecciono main camera)
Luego de adicionar cubos, esferas y cilindros, los ubico bien el en terreno para que se me visualicen en la escena y les puedo referenciar scripts
Ordenar los elementos
En las opciones de arriba puedo adicionar un cilindro o cualquier elemento, luego en las opciones de abajo selecciono la opción prefab y arrastro el elemento de arriba hasta el prefab (le cambio el nombre por el del elemento que le voy a referenciar) y lo suelto. Ya con esto puedo seguir arrastrando este elemento hasta la escena (el prefab en la ventana pequeña inferior), y cuando le pongo el script me queda ya modificando todos los objetos de ese prefab, es decir si tengo n número de cilindros que arrastré desde el prefab cilindro, con solo arrastrarle el sricpt hasta el prefab, el script me queda funcionando para todos los elementos relacionados.
Para crear un script voy a las opciones de la ventana inferior y le doy en create, new javascript; luego le doy doble click al mismo y lo edito, luego de programarlo lo arrastro hasta cada uno de los prefab para que los eventos queden asociados.
Para ordenar todos los objetos ya sean cilindros o los que haya creado, voy a la barra de herramientas, en la pestaña GameObject le doy Create Empty y me queda creado, entonces arrastro todos los elementos que tengo como cubos y cilindros hasta el GameObject para ordenarlos bien.
GUI Skin, lo asocio al script al que le quiero cambiar la apariencia de los objetos, la apariencia incluye estilo de botón, tipo, color o demás características
Para asociar el GUI Skin
Para trabajar entre scripts las variables tienen que ser públicas
UTILIZAR VENTANAS
Cada ventana que creo en el script debe tener su propia función que debe tener un nombre único
Para mostrar las ventanas debo utilizar la función, se utiliza de la siguiente manera
GUI.Window(id de la ventana, propiedades de tamaño y ubicación, nombre de la función que llamo que tiene el contenido de la ventana, título de la ventana), tiene más propiedades pero no se usan frecuentemente
Las propiedades 1 y 3 de la función anterior están resaltadas porque son el punto clave para el correcto manejo de las ventanas, el id de cada ventana es un número que siempre tiene que ser diferente para todas, y en la tercera propiedad llamo la función de la ventana que quiero utilizar.
El OffSet es un vector con 2 posiciones (x,y); para manejar el resto de posiciones y emular en comportamiento de una matriz, cada posición del offset tiene un subvector con el número ya sea de filas o de columnas según sea el caso para x o y.
Ej: Script ítem
public var InventoryIcon : Texture2D; //The Item 2D image
public var ItemName : String; //Name of the item
public var ItemDescription : String; //Description of the Item
public var ItemClass : String; //Is it consumable or equipable?
private var PickUpItem : boolean = false; //are we close enough to the item?
private var doWindow : boolean = false; //Show the Item properties
private var show : boolean;
function OnMouseEnter()
{
show=true;
}
function OnMouseExit()
{
show=false;
}
function Update()
{
if(show)
{
PickUpItem=true;
doWindow=true;
}
else
{
PickUpItem=false;
doWindow=false;
}
}
//la siguiente función es la de la ventana que estoy creando, por cada ventana necesito una función
function DoWindow (windowID : int)
{
GUI.Label (new Rect(5, 15, 120, 25), "Item:" + ItemName);
GUI.Label (new Rect(5, 30, 120, 25), "Class:" + ItemClass);
GUI.Label (new Rect(5, 45, 300, 25), ItemDescription);
}
function OnGUI()
{
if (doWindow)
GUI.Window (1, Rect (Screen.width/2, Screen.height-100,200,80), DoWindow, "Info");
}
No hay comentarios:
Publicar un comentario