viernes, 30 de diciembre de 2016

Tutorial operador := y sctrl Null

Bien antes que nada quisiera pedir una disculpa por todo el tiempo sin publicar algo. Aunque se que muy pocos (por no decir nadie) entra a este Blog. Sin embargo creo que es optimo mencionar que he estado trabajando en varias cosas respecto a Mugen que en un futuro publicaré por este medio. Ahora a iniciar con el tutorial.



*En este tutorial les daré una pequeña introducción a lo que es el operador ":=" y su uso relacionado al Sctrl de "Null", todo esto basado en mis conocimientos.

 El operador := (dos puntos igual) tiene la peculiar y unica función en Mugen de dar valores a las variantes. Eso es bastante sencillo de usar, les daré un ejemplo:
Trigger1 = var(13) := 1
Con eso estamos otorgandole el valor de 1 a la variante # 13, que sería exactamente el mismo codigo que este siguiente:
[State 0, VarSet]
type = VarSet
trigger1 = 1
v = 13   
value = 1

Entonces ¿Cual es la diferencia? ¿Que ventaja hay en utilizar el operador := en vez de un simple sctrl de VarSet? Pues, simplemente la comodidad (por el momento...)
Este operador no solo sirve para "setear" variantes, también puede ser usado como un equivalente de VarAdd y VarRandom. Ejemplicaré esto:
Trigger1 = var(20) := var(20) +30
Podemos traducir eso como: Colocar el valor de la variante #20 igual a 30 más el actual valor de la variante #20.En pocas palabras es un VarAdd y sería exactamente el mismo codigo que este:

[State 0, VarAdd]
type = VarAdd
trigger1 = 1
v = 20    ;fv =
value = 30
y ahora usemos dicho operador como VarRandom conbinandolo con "Random"

Trigger1 = Var(10) := random%10
Traduciendo esto podriamos decir: Colocar el valor de la variante #10 entre un numero aleatorio de 0 a 10.
Y esto es exactamente lo mismo al codigo siguiente:
[State 0, VarRandom]
type = VarRandom
trigger1 = 1
v = 10
range = 0,10
Como pueden ver el operador := puede suplir a los Sctrl de VarSet, VarAdd y VarRandom. Pero aún no despejamos la duda de cual es su ventaja (ademas de la comodidad). Bueno, la primera sería que en un solo trigger podemos dar valor a varias variantes a la vez, cosa que con Varset/VarAdd/VarRandom no es posible. Un ejemplo es:
Trigger1 = var(9):= 1 && Var(11):= 5
Traducido sería: Colocar el valor de la variante #9 a 1 y el valor de la variante #11 a 5.
 Esto igual funciona con los demas ejemplos de arriba.
Otra peculiaridad es que se puede usar un Sctrl Null (que por si solo no tiene ninguna función) para dar valores a varias variantes a la vez y para vernos "Pro's" usando Null's en vez de Varsets/VarAdd/VarRandom.Ejemplo del codigo:
[State 0, Null]
type = Null
trigger1 = var(30):= 40 || var(12) := var(12)+30 || var(14) := random%7
Traducido sería: Dar un valor de 40 a la variante #30, darle el valor del igual de la suma de la variante #12 más 30 a la variante # 12 y darle a la variante #14 un valor aleatorio de 0 entre 7.
Como ven, en un solo sctrl pudimos hacer 3 funciones diferentes respecto a variantes.
Todo esto puede usarse en combinacion con otros triggers y Sctrl, además deque tambíen funciona para las Fvars y las SysVars. Por ejemplo:
[State 0, Null]
type = Null
trigger1 = ((!time) && ((fvar(39) := 29.5) || (sysvar(2) := Cond(frontedgedist <= 0, 20,9)) || (var(59) := statetime)))



En conclusión, podemos decir que el operador := sirve para ahorrar lineas de codigo.
Bien espero y el tutorial les haya servido para ilustrarse más en el mundo del codigo Mugen. Esta ha sido mi humilde aportación. Cualquier duda o aclaración, la respondere en cuanto pueda.



3 comentarios: