13. april 2005 - 12:53Der er
2 kommentarer og 1 løsning
Objekter og Sprites
Jeg kunne godt bruge et eksempel på hvordan man "laver et objekt om til en sprite" At lave objektet er ikke noget problem, men hvordan fortæller jeg director at dette objekt skal være en sprite og placeres i score og på scenen? Jeg kan godt gøre det hvis jeg har en "dummy" sprite på scenen og i score, som jeg hardcoder til at være et defineret objekt, men det er jo ikke helt det jeg ønsker... hvis jeg f.eks skal lave xx objekter, så skal jeg også have xx sprites klar, og det jo ikke helt meningen med oop :)
Jeg forestiller mig det skal gøres efter følgende program: 1. Et objekt instansieres 2. Et cast member "overtager" objetet 3. Find en ledig sprite channel og placer det nye cast der 4. Gentag for samtlige objekter der instansieres
For at starte et simpelt eksempel til at bygge videre på, så lad parent-scriptet instansiere kasser (rects)
property pLangde property pBredde
on new me, langde, bredde pLangde = langde pBredde = bredde return me end
Der har været noget inkonsekvens med sprites og runtime initialisering. Tidligere kunne man godt overtage en spritechannel selvom den var tom, men efterhånden hælder det mere til at der skal være noget.
Det er heller ikke noget problem.
Hvis du smider et 1 pixels cast member i alle de kanaler du har tænkt dig at bruge(eller ikke bruger til andet) og rykker dem uden for stage, så kan du finde en ledig sådan her.
on GET_EMPTY_SPRITE me repeat with r = 1 to 1000 if sprite(r).member.name = "minPixel" then return r end if end repeat
Så kan du sætte nyt member på sprite r. Hvis du skal slette den, smider du member "minPixel" på og sætter den uden for stage, så er den klar igen. Bemærk dog at du også bør resset ink, blend m.m.
Ok, det er hvertfald en brugbar løsning til det jeg skal lave. Træls at at "standarden" er blevet at der skal være en sprite til at overtage objektet. Det er ikke altid lige nemt at gå fra en oo java til oo lingo :) Men tak for hurtigt, brugbart svar :)
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.