Avatar billede blim Nybegynder
20. oktober 2003 - 08:55 Der er 9 kommentarer og
1 løsning

knytte et script til en puppet sprite

Meget simpelt og lidt nemt spørgsmål x 2...

1. Jeg har sprite(33) som puppet... og nu vil jeg igennem lingo give den en behavior som hedder "alt mouse".

2. "alt mouse" har samtidig en PropertyDescriptionList, hvor string-værdien "text" skal være "Klik her". :)

hvis det er så ville et svar på spørgsmål være tilstrækkeligt at gå ud fra :)
Avatar billede kanding Nybegynder
20. oktober 2003 - 09:23 #1
Du kan ikke få direkte adgang til getPropertyDesc listen. Istedet lav en handler der sætter teksten

on setText me, txt
pMyTextProperty = txt
end

så kan du efterfølgende gøre sådan her:

scr = new(script "alt mouse")
sprite(33).scriptInstanceList.add(scr)
sprite(33).setText("Klik her")

Hvis du ydermere laver denne lille handler, så er det let at fjerne scriptet igen uden at påvirke evt. andre behaviors på sprite'en

on removeScript me
sprite(me.spriteNum).scriptInstanceList.deleteOne(me)
end

som du selvfølgelig bare kalder med:
sprite(33).removeScript()

-kanding
Avatar billede blim Nybegynder
20. oktober 2003 - 09:30 #2
Bare for en sikkerhedsskyld ...

Altså denne script skal ind i "alt mouse":
on setText me, txt
pMyTextProperty = txt
end

dette skal ind i vores script :
scr = new(script "alt mouse")
sprite(33).scriptInstanceList.add(scr)
sprite(33).setText("Klik her")

og dette skal så ind i "alt mouse også"
on removeScript me
sprite(me.spriteNum).scriptInstanceList.deleteOne(me)
end

korrekt? :)
Avatar billede kanding Nybegynder
20. oktober 2003 - 09:46 #3
den første skal ind i scriptet

den anden er den du kalder for at sætte scriptet på sprite'en, så ja den skal ind i vores script ;-)

den sidste skal ind for at fjerne scriptet igen. Hvis du ved du ikke skal fjerne det så glem det. Hvis du ved at der ikke skal flere behaviors på kan du også fjerne script med: sprite(33).scriptInstanceList = []
Avatar billede blim Nybegynder
20. oktober 2003 - 10:08 #4
helt sikkert :)

takker...
Avatar billede blim Nybegynder
05. november 2003 - 15:32 #5
Det virker næsten...
Bortset fra at jeg hele tiden får en lortebesked :
"sprite(me.spriteNum).scriptInstanceList.deleteOne(me)

#spriteNum"

:( begynder snart at tude tror jeg....
Avatar billede blim Nybegynder
05. november 2003 - 15:32 #6
hov... glemte lige... der står Property not found i toppen
Avatar billede kanding Nybegynder
05. november 2003 - 15:57 #7
Hmmm kan ikke lige se hvad der er galt, med referencen, men en anden måde er at tilføje dette:

property pScriptNum

on removeScript me
  sprite(me.spriteNum).scriptInstanceList.deleteAt(pScriptNum)
end

on init me, scriptNumber
  pScriptNum = scriptNumber
end

så der hvor du sætter scriptet dynamisk på skriver du
scr = new(script "alt mouse")
sprite(33).scriptInstanceList.add(scr)
sprite(33).init(sprite(33).scriptInstanceList.count)
Avatar billede blim Nybegynder
05. november 2003 - 22:22 #8
Jeg er ved at blive crazy over det her :D

John det her giver ingen mening... jeg bruger det du har skrevet men der sker bare 2 helt uventede mærkelige fejl!!

1. Det er som om hverken me.spritenum eller currentspritenum eller andet i den stil simpelthen ikke virker når jeg har tilføjet scriptet til en puppet sprite.

2. Ok den her er SUPERmærkelig!! Når jeg giver sprite(33) et script... og fjerner det igen... så kan jeg ikke tilføje den et nyt script! Jeg har ikke prøvet at slå puppet fra og til og prøve det... men da ka da ik være rigtigt ?
Avatar billede blim Nybegynder
06. november 2003 - 00:31 #9
Fuck mand... fejl nr. 2 var min egen skyld :D :D
Jeg havde kommet til at removescript på den forkerte sprite! DOH!
sorry sorry... John det virker nu! Tusind tak...

(fejl nr 1 er der stadig, men er lidt ligegyldig nu)
Avatar billede kanding Nybegynder
06. november 2003 - 07:18 #10
jeg tror det er noget med "fødslen" af spriten. At den ikke bliver initialiseret ordentligt.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester