Objetos

También los objetos pueden ser manipulados y creados en tiempo de ejecución. NUNCA se debe cambiar o eliminar un objeto del cual existan instancias. Esto puede provocar efectos inesperados ya que ciertas propiedades son almacenadas en la instancia y, por tanto, al cambiarlas en el objeto no se tendrá el efecto deseado.

object_set_sprite(ind,spr) Establece el sprite para el objeto con índice ind. El valor -1 remueve del objeto el sprite actual.
object_set_solid(ind,solid) Establece si al crear instancias del objeto ind deberán considerarse sólidas (true o false).
object_set_visible(ind,vis) Establece si las instancias creadas del objeto ind deben ser visibles por defecto (true o false).
object_set_depth(ind,depth) Establece la profundidad (depth) por defecto de las instancias creadas del objeto ind.
object_set_persistent(ind,pers) Establece si las instancias creadas del objeto deben ser persistentes por defecto (true o false).
object_set_mask(ind,spr) Establece el sprite para la máscara del objeto con índice ind. Para que la máscara sea el sprite del objeto se puede usar -1.
object_set_parent(ind,obj) Establece el padre (obj) para el objeto ind. Si se usa -1 se indica que el objeto ind no tiene padre. El cambiar el objeto padre cambia el comportamiento de las instancias del objeto.

Las siguientes rutinas son útiles para crear objetos mientras el juego se ejecuta. Como con todas las rutinas de modificación de recursos, se debe ser muy cuidadoso para que no se creen nuevos objetos todo el tiempo.

object_add() Agrega un nuevo objeto. Devuelve el índice del mismo. Después se puede utilizar este índice en las rutinas anteriores para configurar ciertas propiedades del objeto y luego se puede utilizar el índice para crear instancias del objeto.
object_delete(ind) Elimina el objeto con índice ind. Se debe asegurar de que no existan instancias de este objeto en ninguna de las habitaciones.
object_event_add(ind,evtype,evnumb,codestr) Para asignarle un comportamiento a un objeto se deben definir eventos para dicho objeto. Solo se pueden agregar acciones de código. Se debe indicar el objeto (ind), el tipo de evento (evtype), el número de evento (evnumb, se pueden usar las constantes indicadas antes para la función event_perform()). Por ultimo se proporciona la cadena de código que debe ejecutarse (codestr). Se pueden agregar múltiples acciones a cada evento.
object_event_clear(ind,evtype,evnumb) Se puede emplear esta función para borrar todas las acciones para un evento en particular.

La creación de objetos es en particular muy útil cuando se están diseñando scripts o bibliotecas de acciones. Por ejemplo, un script de inicialización puede crear un objeto para mostrar un texto y otro script puede agregar un objeto con un texto en particular. De esta forma se tiene un mecanismo simple para desplegar mensajes sin la necesidad de crear objetos usando la interfaz estándar.