¿Qué es un sistema SCA?
Los sistemas SCA se basan en la utilización de tres tipos básicos de objetos: los Sensores, los Controladores y los Actuadores. Para quien esté familiarizado con el uso de la suite Blender, y más particularmente con su Game Engine integrado, sabrán a lo que me refiero.
Veamos el siguiente ejemplo para entenderlo mejor:
>Imaginemos que queremos hacer una aplicación donde queremos que, cuando se pulse la tecla de Escape, se cierre (una aplicación muy sencilla a todas luces). En vez de utilizar librerías como SDL para detectar la pulsación de teclas y demás, en Minerva se haría de la siguiente forma:
1. Declaramos un MAO (un objeto en minerva) que contenga los MLB (sensores, controladores y actuadores). En nuestro ejemplo vamos a declarar un MAORenderable3DTeapot, que es una taza en 3D. Utilizamos este por ser muy simple de declarar.
2. Declaramos un sensor que se active cuando se pulse la tecla Escape. Este tipo de sensor en Minerva se denomina MSLSensorKeyboard, y le especificamos que sea la tecla que queremos.
3. Declaramos un controlador de tipo AND. Este controlador se activará siempre y cuando todas sus entradas estén activas. En Minerva se denomina MSLControllerAND.
4. Declaramos un actuador para que cierre la aplicación. En Minerva este actuador se denomina MSLActuatorQuitApp.
4. Finalmente conectamos el sensor al controlador, y este al actuador. Ya está hecha nuestra aplicación. En código MSL sería como sigue:
MAOWorld simple_app{
MAORenderable3DTeapot taza{
size = 1.0
reference = Null
MSLKeyboardSensor key_esc{
type = "KEYDOWN"
key = "ESCAPE"
}
MSLControllerAND and1
MSLActuatorQuitApp quitApp{}
key_esc -> and1 -> quitApp
}
}
Y ya está, sin compilar. Por supuesto, Minerva ofrece un variado repertorio de objetos MLB, además de simulaciones físicas, sombras, scripting en Python, propiedades dinámicas para los MAO...
Hola me interesa este proyecto!!
ResponderEliminarcomo puedo conocer detalles?