Scripting Object: Game (Objetos de Script)

08 de octubre de 2008
Valoración del artículo:
Se puede acceder a los miembros de los Objetos de Juego simplemente escribiendo Game en el editor de scripts.
Atención: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.

Cuando escribes, el editor de Scripts muestra una lista AutoComplete que muestra todos los miembros accesibles desde PlatformStudio.psGame. Aquí tienes un ejemplo:



Los Objetos de Juego permiten el acceso a aspectos del juego de alto y bajo nivel. Te permitirá acceder al sistema de dibujo de DirectX 9, las propiedades de un control o una ventana, así como a funciones de alto nivel para un grupo de baldosas, y otras muchas opciones.

Aquí se listan algunos métodos documentados y propiedades del Objeto de Juego (Game Object):

Game.AutoUpdateCamera
Específica si quieres que la cémara se actualice automáticamente cada frame. Si esta opción esta desactivada, moverás la cámara de forma manual usando la opción Game.Camera. Esto es útil para crear juegos que no sean de plataformas como por ejemplo juegos de disparos con scroll.

Game.Camera
Especifica el punto de vista, que será asignado automáticamente por Platform Studio si la opción Game.AutoUpdateCamera esta activa. Si Game.AutoUpdateCamera esta desactivada, podrás usar esta opción para configurar la posición de la cámara.

Game.CharacterX
Obtiene la coordenada X del personaje en pixeles.

Game.CharacterY
Obtiene la coordenada Y del personaje en pixeles.

Game.CharacterW
Obtiene la anchura del personaje en pixeles.
Nota: La altura y anchura del personaje no incluye los pixeles transparente que están alrededor de l personaje por lo que el tamaño del personaje puede ser diferente del tamaño de la baldosa que lo contiene.

Game.CharacterH
Obtiene la altura del personaje en pixeles.

Game.CharAffectedByGravity
Devuelve el valor True (Verdadero) si el personaje es afectado por la gravedad o False (Falso) si el personaje no es afectado por la gravedad.

Game.CharFacingRight
Devuelve el valor True si el personaje esta mirando hacia la derecha o False si el personaje mira a la izquierda.

Game.CharFalling
Devuelve el valor True si el personaje cae o False si el personaje no esta cayendo.

Game.CharJumping
Devuelve el valor True si el personaje esta saltando o False si el personaje no esta saltando.

Game.ClearHighscores
Elimina todas las puntuaciones de la lista de Mejores Puntuaciones.

Game.Compatibility
Permite el uso de opciones que hayan sido eliminadas o modificadas en versiones más actuales de Platform Studio. Solo deberá usarse cuando se este portando un juego desde una versión anticuada de Platform Studio a una nueva versión.

Game.Confirm
Le hace una pregunta al usuario. Devuelve el valor True si el usuario hace clic en Yes o False si hace clic en No. Se prefiere el uso de esta opción sobre el uso de MsgBox o MessageBox.Show ya que permite al jugador pausar el juego mientras el cuadro de diálogo se muestra en pantalla.

Game.ConvPixelsToTilesX
Convierte la coordenada X de un pixel en la coordenada Y de una baldosa.

Game.ConvPixelsToTilesY
Convierte la coordenada Y de un pixel en la coordenada Y de una baldosa.

Game.ConvTilesToPixelsX
Convierte la coordenada X de una baldosa en la coordenada X de un pixel.

Game.ConvTilesToPixelsY
Convierte la coordenada Y de una baldosa en la coordenada Y de un pixel

Game.DisintegrateCurrentTile
Desintegra la baldosa seleccionada (solo se puede usar en una Tile Action o Group action) después de un periodo de tiempo determinado. La acción de desintegrar usa la animación Disappear.

Game.DrawAnimationAtCurrentTile
Dibuja una animación en la posición en la que se encuentre la baldosa en ese momento. Esto es útil para crear una explosión diferente para una baldosa en particular.

Game.DrawHealthBarForCurrentTile
Dibuja una barra de salud junta a la baldosa seleccionada. Usándose junto al trigger Mouse Hover, esto permitirá al jugador ver la salud de una baldosa (enemigo, puerta, etc) al pasar el puntero del ratónn sobre ella.

Game.Drawing
Permite el acceso a la clase Drawing. La clase Drawing contiene métodos para cargar imágenes y fuentes, y dibujar puntos, líneas, rectángulos, sprites y texto usando DirectX 9.

Game.DropCurrentTile
Similar a Game.DisintegrateCurrentTile, excepto que la baldosa cae antes de desaparecer.

Game.EnsureCharacterIsVisible
Asegura que la baldosa que contiene al personaje sea siempre visible. En los juegos con auto-scrolling, esto evita que el jugador mueva al personaje demasiado adelante o atrás, saliéndose de la pantalla.

Game.ExecuteTrigger
Ejecuta otro trigger. Para acceder a la lista de triggers, escribe "." después de "Game.ExecuteTrigger".

Game.ExecuteTriggerString
Ejecuta otro trigger, como un trigger de golpeo de baldosa (hit trigger), especificado como un código de acción.

Game.ExitProgram
Sale del juego. Produce un resultado similar a cliquear en el botón X de la esquina superior derecha de la ventana.

Game.FPS
Devuelve el numero de imágenes por segundo con un valor decimal.

Game.GetControl
Permite el acceso a las propiedades del control especificado.

Game.GetCounter
Obtiene el valor del contador especificado.

Game.GetHealth
Obtiene la salud del personaje.

Game.GetLevel
Obtiene el numero de nivel.

Game.GetLevelName
Obtiene el nombre del nivel.

Game.GetLives
Gets the number of lives the player has left.

Game.GetScore
Obtiene la puntuación.

Game.GetTileIndex
Recupera el índice de una baldosa de la capa principal del nivel actual.

Game.GetTileName
Recupera el nombre de una baldosa de la capa principal del nivel actual.

Game.GetWindow
Permite el acceso a las propiedades de la ventana especificada.

Game.GravityExists
Devuelve el valor True si existe gravedad, o False si no existe gravedad. (similar a Game.CharAffectedByGravity).

Game.Hurt
Da invencibilidad al personaje durante un periodo específico de tiempo, y muestra un efecto visual durante el periodo de invencibilidad. Este método es usado normalmente justo cuando disminuye la barra de salud.

Game.Jump
Hace que el personaje salte.

Game.KillCurrentTile
Destruye la baldosa actual. Esta opción llama a los triggers Tile Destroyed y Group Destroyed.

Game.KillTile
Destruye un grupo especificado. Esta opción llama a los triggers Tile Destroyed y Group Destroyed.

Game.Lose
Finaliza el juego con derrota, y muestra la pantalla de derrota (Lose Window)

Game.Math
Permite el acceso a una pequeña librería matemática que contiene funciones de colisión y otra funciones de miscelánea.

Game.ModifyCounter
Modifica un contador especifico con un valor especifico

Game.ModifyHealth
Modifica la salud del personaje con un valor específico (los números positivos aumentan la salud mientras que los negativos la disminuyen). Si el personaje es invencible en ese momento, este método no tendrá efecto al no ser que el valor sea inferior a cero

Game.ModifyLevel
Modifica el nivel actual con un valor específico. Este método se suele usar con el valor 1 cuando el jugador alcanza el final de un nivel

Game.ModifyLives
Modifica el numero de vidas del jugador con un valor especifíco.

Game.ModifyScore
Modifica la puntuación.

Game.MouseLButton
Devuelve el valor True si el botón izquierdo del ratón esta pulsado, o False si no esta pulsado.

Game.MouseMButton
Devuelve el valor True so el botón central del ratón esta pulsado, o False si no esta pulsado.

Game.MouseRButton
Devuelve el valor True so el botón derecho del ratón esta pulsado, o False si no esta pulsado.

Game.MouseX
Devuelve la coordenada X del puntero en relación a la ventana de juego. La esquina superior izquierda es (0, 0), y la esquina inferior derecha es (Anchura - 1, Altura - 1).

Game.MouseY
Devuelve la coordenada Y del puntero en relación a la ventana de juego.

Game.MoveCameraToDefaultPosition
Cuando AutoUpdateCamera esta seleccionada con el valor False, esta opción moverá la cámara a la posición que tendría en caso de que la función AutoUpdateCamera estuviese activa. Esto es útil al comienzo de un nivel o cuando el jugador pierde una vida, ya que resetea la posición del personaje.

Game.MoveCharacter
Mueve al personaje en la dirección especificada. Usa las palabras "Left", "Right", "Up", "Down", o "Current Direction" para definir la dirección del movimiento.

Game.MoveTile
Mueve una baldosa o grupo de baldosas en la dirección especificada. Usa las palabras "Left", "Right", "Up", o "Down" para definir la dirección del movimiento. Nota: Si la baldosa sigue una ruta (path), la ruta se eleminará y la baldosa comenzará a moverse desde su posición inicial por defecto.

Game.MoveToCheckpoint
Mueve al personaje al último checkpoint definido. Si no se definió ningún checkpoint, el personaje volverá a la posición inicial del nivel actual. Si es necesario, el juego se pausará para que la cámara se sitúe en su nueva posición.

Game.OpenFile
Abre el archivo especificado con la aplicación asociada por defecto.

Game.OpenURL
Abre una URL en el navegador por defecto del usuario. Si se especifica una URL de "mailto:", se abrirá el cliente de correo electrónico por defecto con la dirección especificada ya asiganada al campo Destinatario de un nuevo mensaje..

Game.PauseGame
Pausa el juego y muestra la ventana de Pausa.

Game.PlayMovie
Reproduce un video en el momento especificado. El video tendrá el mismo comportamiento que un control de video en el editor de ventanas (Window Editor.)

Game.PlayMusic
Reproduce el archivo de música especificado. Una vez que acabe la reproducción, esta se reiniciará desde el principio.

Game.PlaySound
Reproduce el archivo de audio especificado. Usar 0 (Silencio) a 100 (máximo volumen) como valores para el volumen, -100 (altavoz izquierdo) a 100 (altavoz derecho) como valores para el balance, y 11 (tono bajo) a 44 (tono alto) como valores de frecuencia. Los valores por defecto son 100, 0, y 22 respectivamente.

Game.Properties
Recupera las propiedades generales de un juego, como su nombre, versión, créditos, etc.

Game.QuitGame
Termina el juego y muestra la pantalla que se mostro antes de comenzar el juego (normalmente la pantalla de menú). Si el jugador consiguió una buena puntuación, antes de volver al menú, el juego le pedira su nombre (solo si es necesario), y mostrará la pantalla de mejores puntuaciones antes de volver al menú.

Game.Scroll
Desplaza la cámara en la dirección y con la velocidad especificadas. Usa esto solo si AutoUpdateCamera esta desactivado.

Game.SetCheckpoint
Define un checkpoint en la posición actual del personaje ( SetCheckpoint() ), o en una coordenada  (X, Y) especifica ( SetCheckpoint(X, Y) ).

Game.SetClimbingState
Especifica si el personaje puede estar escalando o no.

Game.SetCounter
Define el contador especificado con el valor especificado. Si se activa una acción de Contador, los objetos curCounter.Increased, curCounter.Decreased, y curCounter.ChangedBy devolverán unos valores de False, False, y 0, respectivamente.

Game.SetGravity
Especifica si debe o no debe existir gravedad, y la intensidad de esta (ScaleSpeed).

Game.SetHealth
Define la salud del jugador con el valor especificado.

Game.SetLevel
Define el numero del nivel actual.

Game.SetLives
Define el numero de vidas que le quedan al jugador..

Game.SetPosition
Define la posición del personaje en baldosas. Si es necesario, el juego se pausará para que la cámara se sitúe en la nueva posicion.

Game.SetScore
Define la puntuación.

Game.SetTileAnimation
Define la animación actual para una baldosa o grupo de baldosas especificado. Para especificar el grupo actual (en este o cualquier otro método que llame a un grupo), usa "(Current Group)". Puedes especificar un número (0 a 5), o un valor, ("Normal", "Disappear", "Custom 1", "Custom 2", "Custom 3", o "Custom 4").

Game.SetTileAtLocation
Define el índice de una baldosa, el índice del frame y/o el índice de animación de una localización x-y especificada (en baldosas). Otra versión de este método acepta una capa como un valor numérico (Parallax-0, Background-1, Foreground-2, Front-3).

Game.SetTileFrame
Define el frame para una baldosa o grupo de baldosas.

Game.SetTileIndex
Define el índice de baldosas para la baldosa o grupo de baldosas especificado. El nombre de la baldosa será el nombre de una baldosa del grupo. También podrás especificar el frame de la baldosa, su índice de animacion, o cualquier combinación entre ambos. Por ejemplo, puedes especificar un frame de baldosa y un índice de animación a la vez escribiendo Game.SetTileIndex("(Grupo actual)", , 7, "Custom 1")

Game.Shoot
Dispara una baldosa con un nombre determinado. Usa "Left", "Right", "Up", "Down", "Up Left", "Up Right", "Down Left", "Down Right", Towards Character", o un numero para especificar un ángulo en grados para definir la dirección.

Game.ShootAnythingFromGroup
Esta instrucción tiene prácticamente el mismo efecto que Game.Shoot excepto que puede causar daño a baldosas con puntos de impacto (hitpoints). De ahí su nombre, "shoot anything" (dispara a cualquier cosa).

Game.ShootFromCharacter
Dispara una baldosa desde el personaje. Para el valor de direccion, puedes especificar los 8 valores de direccion listados en Game.Shoot, además de las instrucciones "Towards Cursor" y "Current Direction". Towards Cursor hace que el personaje apunte a la posición del puntero del raton, y Current Direction hace que el personaje dispara en la dirección en la que esta mirando (izquierda o derecha). También puedes especificar el ángulo en grados, con el valor 0 para derecha, 90 arriba, 180 para derecha y 270 para indicar abajo. Hay que tener en cuenta que las coordenadas toman como punto de referencia la posición del personaje. Esto es útil para permitir al personaje disparar dos balas al mismo tiempo. Para finalizar, la instrucción "Fire Rate" se refiere al tiempo que transcurre entre dos disparos, medido en segundos. Si se llama a esta instrucción antes de que se cumpla el tiempo mínimo para el siguiente disparo, esta devolverá el valor False y tendrá efecto; en el caso contrario devolverá el valor True.

Game.ShootFromGroup
Dispara la baldosa especificada de entre un grupo de baldosas.

Game.ShootFromPoint
Dispara una baldosa desde el punto especificado. Debes especificar la posición inicial de la bala en los bordes lateral y superior izquierdo en pixeles.

Game.ShowMessageBox
Muestra un cuadro de dialogo con el mensaje, titulo e icono especificado. El icono puede contener el valor "Error", "Information", "Question", o "Exclamation". Se prefiere el uso de este método sobre MsgBox o MessageBox, ya que permite al jugador pausar el juego mientras se muestra el cuadro de dialogo.

Game.ShowWindow
Muestra una ventana especificada.

Game.StartTimer
Resetea e inicia el temporizador especificado.

Game.StopAllSounds
Detiene todos los sonidos que estén siendo reproducidos..

Game.StopJumping
Evita que el personaje salte continuamente. Sin embargo, el personaje debe saltar durante el tiempo mínimo especificado antes de detenerse.

Game.StopTimer
Detiene un temporizador especificado.

Game.TimeElapsed
Devuelve el valor del lapso de tiempo transcurrido entre dos frames en segundos.

Game.Win
Finaliza el juego con victoria y muestra la pantalla de victoria.

Comentarios de los visitantes
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario.



El autor
Rubén Lapuerta
Colaborador Desarrollo Multimedia
http://www.desarrollomultimedia.es
Manuales

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...