Wintermute Engine Forum
Czech forum => Technické fórum => Topic started 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 :)
-
normálně mu ve SceneEditor přiřaď script a v tomhle scriptu nastav handler
on "LeftClick"
{
}
ve kterym zavolej PlayAnim pro ten sprite.
-
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?? ???
-
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".
-
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??
-
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.