Wintermute Engine Forum

Czech forum => Technické fórum => Topic started by: ..::Cr::D::.. on December 29, 2005, 12:36:34 AM

Title: Sprite animace.....
Post by: ..::Cr::D::.. on December 29, 2005, 12:36:34 AM
Čau.
Mám objekt (sprite) ve scéně a potřebuju, aby když na něj kliknu spustila se sprite animace.
Jakej script mám použít??

dík :D ;D :)
Title: Re: Sprite animace.....
Post by: metamorphium on December 29, 2005, 12:42:59 AM
normálně mu ve SceneEditor přiřaď script a v tomhle scriptu nastav handler

on "LeftClick"
{

}
ve kterym zavolej PlayAnim pro ten sprite.
Title: Re: Sprite animace.....
Post by: ..::Cr::D::.. on December 29, 2005, 05:36:39 PM
No jo jenže já napíšu

on "LeftClick"
{
    this.PlayAnim(".....\......\xxxx.sprite");
}

A ono to prostě nic neudělá.Ale to "this" tam asi nema bejt co?? ???
Title: Re: Sprite animace.....
Post by: Mnemonic on December 29, 2005, 06:14:50 PM
Posle Smrti, pokud jsi v rozpacich, tak radeji nic nepis. Lepsi zadna rada, nez spatna rada.

this.PlayAnim("cesta\soubor.sprite"); je spravne. "this" reprezentuje objekt, ke kteremu je skript prirazen. Cili pokud mas nejakou entitu ve scene, k ni je prirazen tento skript, tak "this" je ona entita.
Cili ten kod je spravne. Proc se nic neprehraje? Duvodu muze byt vic. Budto mas zadanou spatne cestu k tomu spritu, nebo ta tvoje entita neni interaktivni (pak by ignorovala klinuti mysi). Zkontroluj cestu a zkontroluj, jestli u ni mas ve SceneEditu zaskrtnuto "interactive".
Title: Sprite animace
Post by: killer on July 09, 2006, 06:17:52 PM
Chtěl bych se zeptat na něco ohledně sprite animací.Mam scenu na který chci aby mě v pozadí za určitej čas projelo z prava do leva auto.Tak sem si udělal animaci s tim autem(5 snímků jak se točej kola) a nastavil sem Move by na -5.....animace funguje podle představ.Ale jakmile ji umístím do scény tak se auto rozjede a zmízí pryč ze scény a už se neukáže.Neví někdo jak to vyřešit aby se znova ukázalo a rozjelo se??
Title: Re: Sprite animace.....
Post by: Mnemonic on July 11, 2006, 08:45:57 PM
Moznosti je vic. Nejlepsi by asi bylo, vyresit to skriptem. Ve skriptu te entity (auta) by bylo neco jako:

while(true)
{
  Sleep(5000);
  this.SkipTo(100, 200);
}

Tj. ten skript kazdych pet vterin vrati entitu na pozici 100, 200. Smaozrejme ten cas a pozici by sis upravil podle svych potreb.