| Portada | Monotemáticos | Secciones | Comunidad | Servicios profesionales | RSS | ||||
Procedure-Level Scope o Ámbito Procedure-level
Este es el ámbito mas usado, ya que en el puedes usar diferentes
scripts para cada acción. El código que introduces equivale al cuerpo de una
función. Por ejemplo, si has definido una acción Tile Hit para una determinada
tile(baldosa), el código usado sería este:
Function [FunctionName]()
El código de Procedure-level va aquí
End Function
Debido a que Platform Studio crea automáticamente las líneas de código Function...End Function, podrás ver que el código de procedure-level es equivalente al cuerpo de una función o sub-función.
Ahora, pongamos en el caso de que creas un script para el trigger "Value Changed" del marcador de puntuaciones. En ese caso, el código de tu función sería el siguiente,
Function [FunctionName](ByVal
curCounter As _
PlatformStudio.CurrentCounter)
‘El código de Procedure-level va aquí
End Function
El código que escribirías en esta función sería el mismo que el del ejemplo anterior, ya que solo estas definiendo el cuerpo de la función sin modificar ningún otro valor. Sin embargo, en esta función, también puedes usar un parámetro, curCounter. Aunque no declares curCounter, puedes hacer uso de el ya que Platform Studio lo declarará por ti.
Una ultima anotación sobre el ámbito procedure-level: no podrás ejecutar las funciones de otros triggers ya que estas son independientes unas de otras. Si quieres compartir código, deberás introducirlo en Class View.
Class-level Scope o Ámbito de Class-level
El segundo tipo de ámbito es el de Class-level. En class-level, puedes escribir código global que podrá ser usado en cualquier procedure (procedimiento) de tu juego. Todo esto código se localiza en una clase (cuya definición es creada automáticamente por Platform Studio). Por lo tanto, si introduces lo siguiente,
Dim Game As PlatformStudio.psGame
Platform Studio creará esto (aunque no lo veas en Class View),
Class ScriptObject
Dim Game As PlatformStudio.psGame
End Class
El Objeto Game (Game Object) también podra ser usado en los procedures (procedimientos) que uses en Procedure View.
Otra forma de aprovechar el scripting de class level es creando funciones
globales. Por ejemplo, si creas una función que dibuja el número de puntos
conseguidos cuando el jugador consigue una moneda o un corazón, podrás acceder a
ella tanto desde el trigger Coin.Collect como desde el trigger Heart.Collect.
Combinándolo todo
El resultado final es una librería DLL creada por Platform Studio, que combina todos tus scripts, acciones y código global y lo coloca todo un una sola clase, para ser compilado en un archivo DLL. Si se produce un error al compilar el DLL, veras el código fuente que Platform Studio genera para tus acciones y código. Para que vayas familiarizándote con el, aquí tienes una muestra de código al que tu DLL se debería parecer:
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Namespace Script
Class ScriptObject
'Este código importa los objetos del juego
'así que puede ser usado a través de scripting.
'El Game object és concretado por el jugador.
Public Game As PlatformStudio.IGame
'Trigger actions
'---------------
Function cval2(ByVal curCounter As PlatformStudio.CurrentCounter)
If curCounter.Value < 0 Then
Game.QuitGame()
End If
End Function
Function cval3(ByVal curCounter As PlatformStudio.CurrentCounter)
If curCounter.Value <= 0 Then
Game.ModifyLives(-1)
Game.SetHealth(3)
Else
If curCounter.Decreased Then
Game.Hurt(4, "Blink", 0.2)
End If
End If
End Function
Function khol37()
Game.MoveCharacter("Left", 4, True)
End Function
Function khol39()
Game.MoveCharacter("Right", 4, True)
End Function
Function khol38()
Game.Jump(0.6, 0.25, 1)
End Function
Function krel38()
Game.StopJumping()
End Function
Function kpre27()
Game.QuitGame()
End Function
End Class
End Namespace
| Autoría, licencia y acciones sobre este artículo | ||
|
Informe de Rubén Lapuerta*
Colaborador Desarrollo Multimedia URL: http://www.desarrollomultimedia.es Atención: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.
|
Aun no hemos recibido comentarios de este artículo. |
|
Manuales
|