Tween Float
Tipo: Procesador / Rama (True / False)
Categoría: TWEEN
Interpola una propiedad BGE flotante del objeto desde From hasta To usando los parámetros del tween con el ID indicado.
Propiedades
| Propiedad | Tipo | Por defecto | Descripción |
|---|---|---|---|
| Tween ID | String | "tween" |
Debe coincidir con el ID de Play Tween |
| Property | String | "value" |
Nombre de la propiedad BGE a animar |
| From | Float | 0.0 |
Valor inicial |
| To | Float | 1.0 |
Valor final |
Sockets
| Socket | Dirección | Tipo |
|---|---|---|
| In | Entrada | Exec |
| True | Salida | Exec (completado) |
| False | Salida | Exec (en curso) |
Código generado (simplificado)
_tw = Range.logic.globalDict.get('_rnc_tw_hp', None)
if _tw:
_tw_t = min(1.0, (Range.logic.getClockTime() - _tw['start']) / _tw['dur'])
_tw_e = ease_function(_tw_t, _tw['ease'])
self.own['hp_bar'] = 0.0 + (1.0 - 0.0) * _tw_e
if _tw_t >= 1.0:
#TRUE_PATH#
Uso típico
Animar barra de vida al recibir daño
[On Message: Subject="take_damage"]
→ [BTCustomTask: new_hp = max(0, self.own.get('hp',100) - 10)]
→ [Play Tween: ID="hp_tween", Duration=0.5, Ease=ease_out]
→ [Set Property: prop="hp", Value={new_hp}]
[On Update] → [Tween Float:
ID = "hp_tween"
Property = "hp_visual"
From = {Get Property: prop="hp_visual"}
To = {Get Property: prop="hp"}]
→ [Set Bar: Value={hp_visual}]
Volumen con fade
[On State Enter: FSM ID="game", State="quiet_zone"]
└── On Enter ──► [Play Tween: ID="vol_fade", Duration=2.0, Ease=ease_in_out]
[On Update] → [Tween Float: ID="vol_fade", Property="vol_prop", From=1.0, To=0.2]
→ [Set Volume: Handle Key="bgm", Volume={vol_prop}]
Notas
- La propiedad BGE se actualiza directamente cada frame que el tween está activo.
- El nodo no lee el valor actual de la propiedad como
From— debes especificarlo explícitamente o conectarlo desde un socket de datos.