Avatar billede kjoller Nybegynder
21. maj 2001 - 16:19 Der er 12 kommentarer og
1 løsning

hittest

Jeg sidder og er ved at blive lidt skør i bolden, jeg har lavet et spil med nogle fjender som jeg skal skyde men jeg kan skyde den samme fjende mere end en gang dvs hvis jeg skyder på fjenden igen og igen så kan jeg selv blive drabt.

Fjenderene bliver oprettet ved følgende kode:
numEnemy = 3;

for (i=2; i<=numEnemy; i++) {
    enemy1.duplicateMovieClip(\"enemy\"+i, i+100);
   
}

Og de bliver drabt ved følgende:
for (i=1; i<=_root.numEnemy; i++) {
if (this.hitTest(_root[\"enemy\"+i])) {
    _root.rotation = 0;
    _root.spaceship.laserCounter -= 1;
    _root[\"enemy\"+i].gotoAndPlay(\"hit\");
    _root.score += 100;
    this.removeMovieClip();
            }

Jeg har prøvet at sætte en variabel ind som skulle forhindre det i at kunne ske men det hjalp ikke for jeg kunne ikke få den resat igen.

Er der ikke en derude som kan hjælpe mig, så jeg kan få den kun at skyde fjenden en gang.

Spillet kan ses på http://www.kjollers.dk/spil5.html
       
Avatar billede pixelpaw Nybegynder
21. maj 2001 - 16:37 #1
Det mc der afspiller explosionen, er der nogen funktioner på det? Når jeg skyder det, starter explosionen forfra og tæller flere point. Ville gerne kigge på fla filen for at se hvor det går galt.
Avatar billede pixelpaw Nybegynder
21. maj 2001 - 16:40 #2
hvis man flyver ind i stumperne af stenene, mister man også et liv
Avatar billede kjoller Nybegynder
21. maj 2001 - 16:43 #3
Jeg har lagt .fla filen her: www.kjollers.dk/spil6.fla det er det at eksplotionen starter forfra der er problemet
Avatar billede kjoller Nybegynder
21. maj 2001 - 16:53 #4
Det med stumperene ved jeg også men det bliver løst i samme ombæring for nå man ikke kan skyde stenen mere end en gang så kan jeg bruge den samme løsning til at låse for det
Avatar billede pixelpaw Nybegynder
21. maj 2001 - 16:55 #5
Problemmer er, at du ikke fjerner \"enemy\" lige efter den er ramt.
Forløbet:
Lazer rammer enemy
Enemy mc gotoAndPlay(2)
Næste skud rammer
Enemy mc gotoAndPlay(2)

prøv at lave dette om:
if (this.hitTest(_root[\"enemy\"+i]))
til
if (this.hitTest(_root[\"enemy\"+i]) && _root.[\"enemy\"+1]._currentframe == \"1\")
Avatar billede pixelpaw Nybegynder
21. maj 2001 - 16:56 #6
oops, fik lige presset et . ind efter _root
Avatar billede pixelpaw Nybegynder
21. maj 2001 - 17:05 #7
på lazer:
if (this.hitTest(_root[\"enemy\"+i]) && _root[\"enemy\"+1]._currentframe == 1)

på enemy:
if (this.hitTest( _root.spaceship) && _currentframe == 1 )

synes det er lidt mystisk, for det virker nogle gange, men andre gange virker det ikke
Avatar billede kjoller Nybegynder
21. maj 2001 - 17:05 #8
Det hjalp lidt på det men, nu er der kometer som jeg ikke kan skyde, og til sidst kommer der kun 1
Avatar billede pixelpaw Nybegynder
21. maj 2001 - 17:08 #9
ja, det har jeg også lagt mærke til

jeg bliver nødt til at smutte hjem nu (sidder på arb), men jeg kan godt kigge på det senere i aften?
Avatar billede kjoller Nybegynder
21. maj 2001 - 17:09 #10
Det er også det jeg har opfattet, nu kommer derde 3 som skal være der, hvad gør currentframe?
Avatar billede kjoller Nybegynder
21. maj 2001 - 17:14 #11
jeg skal også hjem, men du må meget gerne kigge på det :o)
Avatar billede pixelpaw Nybegynder
21. maj 2001 - 17:15 #12
_currentframe fortæller hvad frame mc\'et er i.
Avatar billede kjoller Nybegynder
22. maj 2001 - 10:14 #13
ok, så er jeg med
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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