Avatar billede camban Nybegynder
07. marts 2005 - 11:42 Der er 11 kommentarer og
1 løsning

hitTest attachmovie virker ikke??

Er ved at lave et spil hvor nogle objekter falder fra top af scenen og til bunden af scenen. Jeg bruger attachMovieclip til at skabe disse objekter dynamisk, har også prøvet med duplicate men uden den store forskel. Alt dette virker fint men hitTesten ml. objekterne og en ground movieclip virker ikke. Jeg har både prøvet at placere hitTest-koden i roden og i også i et mc i objekt mc'et.
Hvis der er nogen der har en ide om hvad der er galt eller hvad jeg kunne gøre, vil jeg blive glad...
Avatar billede barklund Nybegynder
07. marts 2005 - 11:50 #1
Må vi se? Kode, tak :)
Avatar billede camban Nybegynder
07. marts 2005 - 11:58 #2
SH = 0;
pancake_Depth = 500;
total_pancakes = 3;
set_pancakes = function () {
    for (j=0; j<total_pancakes; ++j) {container = _root.attachMovie("pancake", "pancake"+j, pancake_Depth+j);container.reset = reset_pancakes;container.reset();}};

reset_pancakes = function () {
    this._y = SH+random(SH);
    this._x = random(500)+20;
    this.yspeed = -(random(3)+2);
    this.onEnterFrame = move_pancakes;};

move_pancakes = function () {
this._y -= this.yspeed;
if (this._y>=400) {this.reset();}};

set_pancakes();

_root.onEnterFrame = function(){
    if (figur.hitTest(pancake)) {
        trace("They are colliding");
    }}
;

stop();
Avatar billede barklund Nybegynder
07. marts 2005 - 12:03 #3
Du hittester jo med noget, der hedder "pancake", men dine pandekager hedder jo "pancake1", "pancake2" og "pancake3", og dem tester du ikke op imod.

Du skal teste i en løkke som:

_root.onEnterFrame = function(){
    for (var i = 0; i < total_pancakes; i++) {
        if (figur.hitTest(this["pancake"+i])) {
            trace("figur rammer pandekage nummer "+i);
        }
    }
};

Så burde det virke :)

--
Morten Barklund
Avatar billede camban Nybegynder
07. marts 2005 - 12:12 #4
Det lyder rigtig fornuftigt...men der kommer ikke noget frem i output vinduet...
Avatar billede barklund Nybegynder
07. marts 2005 - 12:33 #5
Hm, hedder din figur figur?

Prøv at udvide det til:

_root.onEnterFrame = function(){
    for (var i = 0; i < total_pancakes; i++) {
        trace("sammenligner "+figur+" med "+this["pancake"+i]);
        if (figur.hitTest(this["pancake"+i])) {
            trace("figur rammer pandekage nummer "+i);
        }
    }
};

Så burde der komme noget i trace-vinduet.

--
Morten Barklund
Avatar billede camban Nybegynder
07. marts 2005 - 12:37 #6
Er det pga attachMovieclip at der er problemer...jeg har fået det til at fungere hvis der er tale om 2 alm. mc placeret direkte på stage. Kan det gøres på en anden måde?
Avatar billede camban Nybegynder
07. marts 2005 - 12:38 #7
Jep der kommer "sammenligner med" frem i output?
Avatar billede camban Nybegynder
07. marts 2005 - 12:40 #8
Hov der kommer mere med...mig der kager rundt i det

sammenligner _level0.ground med
Avatar billede barklund Nybegynder
07. marts 2005 - 12:45 #9
Hm, så hedder din figur ikke figur, men ground? Det er vel også fint nok - jeg kan dog ikke se, hvorfor du så har en ekstra reference, der hedder "figur", men det må du jo selv om :)

Til gengæld mistænker jeg, at scriptet ikke ligger i _root:

_root.onEnterFrame = function(){
    for (var i = 0; i < total_pancakes; i++) {
        trace("sammenligner "+figur+" med "+_root["pancake"+i]);
        if (figur.hitTest(_root["pancake"+i])) {
            trace("figur rammer pandekage nummer "+i);
        }
    }
};

Prøv den :)

--
Morten Barklund
Avatar billede camban Nybegynder
07. marts 2005 - 12:52 #10
Det virker med det du skrev før...så det er rigtig godt. Jeg havde vist lidt rod i koden. Tusind tak og nu skal du vist have nogle point :o)

Camilla
Avatar billede barklund Nybegynder
07. marts 2005 - 13:00 #11
Fair nok ;)
Avatar billede barklund Nybegynder
07. marts 2005 - 13:05 #12
Tark for points :)
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