Avatar billede kridley Nybegynder
17. maj 2002 - 03:02 Der er 19 kommentarer og
1 løsning

HitTest med DuplicateMovieClip

Jeg er ved at lave et spil hvor en explosion (duplicatedmovieclip) skal fjernes hvis den rammer en klods ( et andet duplicatedmovieclip), men kan ikke få hitTest til at
virke! Problemet er at jeg fortløbende kalder de duplicatede movieclips nye navne...

Problem er som flg:
(x er variabel i for løkke)

_root.mc add x.hitTest(_root.mc2 add x)

Er der nogle der har forstand på hvordan man anvender functions(hitTest) med insatnser der skal kaldes med add eller +??
Avatar billede hoejrup Nybegynder
17. maj 2002 - 07:41 #1
Du skal bare sætte følgende på dine klodser

onClipEvent (enterFrame) {
for (i=1; i <= antalKugler; i++) {
  if (this.hitTest(_root.mc2[i])) {
    this.removeMovieClip();
  }
}
}

/per
Avatar billede hoejrup Nybegynder
22. maj 2002 - 16:39 #2
Kunne du bruge løsningen?

/per
Avatar billede kridley Nybegynder
23. maj 2002 - 22:29 #3
Desværre. Antalkugler (altså i dit kode eksempel) er for højt, det får spillet til at køre MEGET langtsomt at skulle lave alle de hittests inde i movieClippet!

Jeg har prøvet at lave testen fra en frame med flg. kode "_root.block[t].hitTest(_root.explosion add expName)" men få intet resultat. Kan du gennemskue det?
Avatar billede hoejrup Nybegynder
23. maj 2002 - 22:33 #4
Har du prøvet med

_root.block[t].hitTest(_root.explosion[expName]);

eller følgende på blokken

onClipEvent (enterFrame) {
if (this.hitTest(_root.explosion[expName])){

}
}

Du kunne prøve at sende din fla til info@kazoma.dk, så kigger jeg på den.

/per
Avatar billede hoejrup Nybegynder
23. maj 2002 - 22:35 #5
onClipEvent (enterFrame) {
for (expName=1; expName <= antalKugler; expName++) {
if (this.hitTest(_root.explosion[expName])){

}
}
}

/per
Avatar billede kridley Nybegynder
23. maj 2002 - 22:57 #6
Har prøvet "_root.block[t].hitTest(_root.explosion[expName]);", men desværre.

Jeg kan ikke bruge this, da det sænker hele skidtet helt vildt at skulle udføre hittest inde i forløkker, der skal gennemløbes hver gang onClipEvent(enterFrame).

Jeg sender den lige til dig. Problemet er som sagt at explosionerne ikke skal explodere på blocks...
Avatar billede hoejrup Nybegynder
23. maj 2002 - 23:13 #7
Jeg arbejder også på Mac i Flash 5.

/per
Avatar billede kridley Nybegynder
23. maj 2002 - 23:16 #8
Fedest så skulle det jo være på plads. :-)
Tjekkede lige dit firma ud, fed levevej!!
Håber du kan løse problemet.
Avatar billede hoejrup Nybegynder
23. maj 2002 - 23:17 #9
Access to spil.fla was denied.

File>Publish Settings...>Flash>Protect from import

/per
Avatar billede hoejrup Nybegynder
23. maj 2002 - 23:20 #10
kridley> Tak, hvis jeg kunne leve af det. Det kræver faktisk mange
penge til reklamer, og nogle gode sælgere.

/per
Avatar billede kridley Nybegynder
23. maj 2002 - 23:22 #11
Skal den slås til? Den er nemlig slået fra...
Avatar billede hoejrup Nybegynder
23. maj 2002 - 23:26 #12
Nej, den skal være slået fra.

Kan du ikke prøve at smide din fil igennem DropStuff fra www.aladdinsys.com, så den bliver lavet om til en .sit fil.

/per
Avatar billede kridley Nybegynder
23. maj 2002 - 23:34 #13
Jeg downloader det og sender filen til dig i morgen. Har underivst hele dagen (flash underviser) og er på vej i seng. Tak for hjælpen.
Avatar billede hoejrup Nybegynder
23. maj 2002 - 23:36 #14
Programmet bliver leveret gratis sammen med Netscape til mac, og ligger i Aladdin Folder.

Men du må gerne sende det i morgen.

/per
Avatar billede hoejrup Nybegynder
23. maj 2002 - 23:37 #15
Velbekomme! Du skal kigge i din Netscape mappe.

/per
Avatar billede hoejrup Nybegynder
23. maj 2002 - 23:43 #16
Jeg har fået åbnet din fil ved at smide den igennem DropStuff og derefter Stuffit Expander, så det skyldes åbenbart en bit fejl!

Jeg kigger på den i morgen.

/per
Avatar billede hoejrup Nybegynder
25. maj 2002 - 12:47 #17
Hej

Jeg har lavet en hel masse om i dit spil, så du kan se hvordan man optimere spil
i flash 5. Desuden er der en fejl ved bombe animationen der skal rettes.

function removeBricks () {
  // fjerner bricks der er ramt af bombe ilden
  for ( j = 1; j < _root.TotalBrick ; j++ ) {
    for ( k = 1; k < _root.numExplode ; k++ ) {
        if (_root["explosion" add k].hitTest(_root["brick" add j])) {
          _root["brick" add j].removeMovieClip();
        }
    }
  }

Jeg sender filen tilbage til dig.

/per
Avatar billede hoejrup Nybegynder
03. juni 2002 - 20:14 #18
Hvorfor svarer du ikke?

/per
Avatar billede kridley Nybegynder
15. oktober 2002 - 22:45 #19
Beklager tusind gange...har været i udlandet og langt væk fra civilizationen....*UNDSKYLD...her er pointene
Avatar billede hoejrup Nybegynder
15. oktober 2002 - 23:40 #20
Tak Kristian R...

/per
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