Otra extension muy recomendada a usarse si se quiere guardar la partida en tu juego
INIEl objeto INI es un objeto que permite guardar y cargar datos (Ya sean numéricos o textos) en un archivo INI de texto plano. Otorga simplicidad cuando se quiere guardar partidas o cualquier tipo de datos.
El objeto INI es un objeto muy importante en la creación de juegos en cuanto a guardar datos.
Los archivos INI que mmf2 manipula se dividen en secciones:
Las secciones se identifican entre corchetes.
- Código:
-
[Esto es una seccion]
[Esto es otra sección]
[y jojojo, esta también
]
A su vez cada sección tiene Items, que son básicamente las variables que se guardarán en el archivo:
Estos items pueden ser interpretados tanto como variables numéricas como "strings" (Asi se llaman a los textos).
Fijense esto por ejemplo
- Código:
-
[seccion tiwitiwi]
Vidas finales=302
nombre_jugador=fulano detal
texto=nosepo
[averquepongo]
poner_sonidos=0
texto=a ver que pasa
Nótese que se repite la variable Texto. No pasa nada mientras se guarden en diferentes secciones
Otro detalle. Cuando se carga la variable, se puede cargar como cualquier cosa y no específicamente como una variable llamada nombre_jugador.
Puede ser interpretado para rellenar un Edit, o para cambiar un texto, etc.
--------------------------------
Para indicar cual es el archivo INI a usar se pueden usar tanto valores fijos (Por ejemplo C:\Windows\Configuraciones_juego.ini , que no cambiaría en ninguna pc que se use la aplicación) como valores relativos (Por ejemplo que el archivo se guarde en la misma carpeta que la aplicación usando la expresión Appdir$ + "\configuraciones.ini")
Si vas a usar una ruta fija, la puedes configurar desde las propiedades del objeto.
Sino puedes configurarla desde un evento "Start of Frame".
Hablando de eventos, vamos a ellos:
------------------------------------------
El objeto INI tiene unas cuantas acciones:
Set current file
Indica la ruta del archivo INI. Aqui es donde puedes usar expresiones lógicas.
Set current group
Cambia la sección actual
Set current item
Cambia el ítem actual
Set value
Guarda el valor indicado en el ítem actual, en la sección actual, en el archivo actual.
Set value (item)
Guarda el valor indicado en el ítem que indiques, en la sección actual, en el archivo actual.
Set value (group - item)
Guarda el valor indicado en el ítem y sección que indiques, en el archivo actual.
Esta es la accion que yo mas uso pues indico todo en una sola acción
Ocurre exactamente lo mismo con los eventos "Set String" pero esta vez guardando textos en vez de numeros.
Y luego tienes las acciones delete (es obvio lo que hacen xDD)
Delete Item
Borra el item que indiques, en la sección actual.
Delete Item (Group)
Borra el item que indiques, en la sección que indiques.
Y luego estan estas otras dos:
Save position of object
Guarda las coordenadas de un objeto en variables que pueden ser cargadas luego del mismo modo.
Load position of object
Efectivamente. Con esta acción se carga la posición del objeto
--------------------------------------
Ahora tu dirás ¿¿Pero como funciona esto si no tiene condiciones??
Y aquí mi respuesta:
Para que funcione debes usar como condiciones del INI, los eventos "Compare two general values"
Y entonces usas las siguientes expresiones en el primer campo, para compararlos con el segundo:
Get value
- Código:
-
value of( "Ini" )
Obtiene el valor del item actual, en la seccion actual, y bueh... ya saben
Get value (Item)
- Código:
-
ItemValue( "Ini", >Item name<)
Obtiene el valor del item indicado en >item name< en la seccion actual.
Get value (Group - Item)
- Código:
-
GroupItemValue( "Ini", >Group name<, >Item name<)
Obtiene el valor del item indicado en >Item name< en la seccion indicada en >Group name<.
La mas recomendada por mi
Lo mismo ocurre con las Get String solo que esta vez usando texto.
¡Y bueno! Eso es todo, ahora solo queda experimentar con tu archivo/fichero ini a ver hasta cuanto puedes llegar
Cabe mencionar que no es recomendable que el fichero INI sobrepase los 64Kb de espacio y que ninguna variable o valor supere los 1024 caracteres, ya que esto podría causar problemas.
La extension viene incluida con Multimedia Fusion 2Salu2!