kan det lade sig gøre at indsætte en timer delay løkke i én sprite som IKKE påvirker de andre sprites?
hidtil har jeg nemlig selv styret mine sprites behægelses hastigheder og animations hastigheder hvad en variabel som jeg tæller ned, f.eks.
on exitFrame me iDelayUntilNextMovement=iDelayUntilNextMovement-1 if iDelayUntilNextMovement=0 then Animate() iDelayUntilNextMovement=10 -- animationens hastighed (jo højere tal jo langsommere animation) end if end exitFrame me
Det virker fjollet, men jeg kender p.t. ikke andre måder at styre mine individuelle sprites på (dvs. uden at påvirke alle sprites på een gang).
Derudover så sætter jeg min movies faste framerate fast til 50 fps, hvilket jeg formoder er den højeste framerate man bør sætte et program til, hvis det også skal køre ordentligt på langsommere computere...?
Der står desværre ingenting i nogen af mine director bøger, måske én af jer har et virkende link til en god artikkel om oop timing / tidsbaserede sprites.
det er bedre at animere på tid, selv om det i ekstreme tilfælde også kan påvirkes af frame rate.
Director har et timeout object der kan sættes. Prøv at se dette lille script:
property pTimeObj on mouseUp me pTimeObj = timeout("Timer"& string(me.spriteNum)).new(1000, #moveSprite, me) end
on moveSprite me sprite(me.spriteNum).locH = sprite(me.spriteNum).locH + 10 end
Det der sker er, at på mouseUp oprettes der en unik timer ved at parre navnet Timer og spritens nummer ("Timer"& string(me.spriteNum)). Den behøver ikke at hedde timer men hvad du har lyst til ;-). Derefter sættes intervallet i tusindedels sekunder, altså er 1000 = 1 sekund. Tilsidst fortæller vi Director hvilken handler(#moveSprite) der skal kaldes og på hvilket object(me)
Hvert sekund vil moveSprite handleren blive kaldt indtil der kaldes en pTimeObj.forget(), så vil den stoppe.
Dette script kan du sætte på alle de sprites du vil og de vil arbejde individuelt. Den hastighed de bevæger sig med, vil afhænge af tids intervallet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.