Avatar billede elnino Nybegynder
19. maj 2001 - 21:22 Der er 14 kommentarer og
1 løsning

levels...

Jeg er ved at lave et spil i flash med et rumskib der skal skyde  nogle planeter i al sin enkelthed. Jeg bruger dublicateMovieClip til min skud dvs. jeg har en mc med et som bevæger sig via action script og det samme med mine planeter (der er hele tide 5 på skærmen). Men når jeg sætter det sammen (jeg har lavet en hittest der virker) forsvinder en planet hver gang jeg skyder. Idet jeg skyder forsvinder en af planeterne uden at den er ramt.
Jeg tror det har noget med levels at gøre selv om jeg ikke kender til det.

action til mit skud:
on (keyPress \"<Space>\") {
    ship_x = getProperty(\"_root.ship\", _x);
    ship_y = getProperty(\"_root.ship\", _y);
    _root.laser.duplicateMovieClip(\"laser\"+n, n);
    setProperty (_root[\"laser\"+n], _x, ship_x);
    setProperty (_root[\"laser\"+n], _y, ship_y);
    _root[\"laser\"+n].gotoAndPlay(2)
    n += 1;
}

og til min planet:
if ((Number(getProperty(_root.planet24.planet3, _x)))<-400) {
        removeMovieClip (_root.planet24);
        _root.planet2.duplicateMovieClip(\"planet2\"+iiii, iiii);
        _root.planet24.gotoAndPlay(2);

    }

(og der er en til vær af mine planetr)

Håber det ikke virker for forvirende og at der er nogen der kan hjælpe. Skriv endelig hvis der er noget jeg skal forklare mere.

Elnino
Avatar billede nikolajdu Nybegynder
19. maj 2001 - 21:28 #1
Hvordan kan du gøre det her??

_root.planet24.gotoAndPlay(2);

Når du lige har fjernet movieClippet... - removeMovieClip (_root.planet24);

Hvordan ser din hittest ud??
Avatar billede elnino Nybegynder
19. maj 2001 - 21:38 #2

Min hittest siger sådan her ud:

onClipEvent (enterFrame) {
if (_root.planet21.hitTest(this) == true) {
  _root.planet21.play(3);
}
if (_root.planet22.hitTest(this) == true) {
  _root.planet22.play(3);
}
if (_root.planet23.hitTest(this) == true) {
  _level3.play(3);
}
if (_root.planet24.hitTest(this) == true) {
_level4.play(3);
}
}

Jeg næsten fået det til at virker. Jeg kom til at loade min skud klip ind i de lag som mine planet lå på.
Nu startert min skup på level 5 og det køre, men hitteste virker kun på nogle af min planetr????
Avatar billede hoejrup Nybegynder
19. maj 2001 - 21:38 #3
if ((Number(getProperty(_root.planet24.planet3, _x)))<-400) {
    removeMovieClip (_root.planet24);    _root.planet24.duplicateMovieClip(\"planet2\"+iiii, iiii);
    _root.planet24.gotoAndPlay(2);
}

/per
Avatar billede elnino Nybegynder
19. maj 2001 - 21:40 #4
Jeg starter forresten med at duplikere mit originale MC 4 gange, så det aldrig er på scenen
Avatar billede nikolajdu Nybegynder
19. maj 2001 - 21:51 #5
Hvorfor skifter du i din hittest mellem _root.planet22.play(3); og _level3.play(3); ???
Avatar billede elnino Nybegynder
19. maj 2001 - 22:07 #6
fordi jeg havde skrevet forkert. Men jeg skiftede dem alle ud med _root i stedet for level og det virker stadig ikke....
Avatar billede hoejrup Nybegynder
19. maj 2001 - 22:15 #7
Selvfølgelig virker det ikke, du skal nemlig følge syntaxen:

duplicateMovieClip (fra navn, til navn , level);

/per
Avatar billede hoejrup Nybegynder
19. maj 2001 - 22:21 #8
Et eksempel på et mouse tracker ActionScript:

startDrag (\"/Tracker\", true);
/:X = getProperty(\"/Tracker\", _x);
/:Y = getProperty(\"/Tracker\", _y);
T = Number(T)+1;
if (/:X1 ne /:X and /:Y1 ne /:Y) {
    duplicateMovieClip (\"/Tracker\", \"trak\", T);
    setProperty (\"trak\", _x, /:X1);
    setProperty (\"trak\", _y, /:Y1);
    /:X1 = /:X;
    /:Y1 = /:Y;
}
if (Number(T)>20) {
    T = 0;
}
if (Number(/:D) == 1) {
    removeMovieClip (\"trak\");
    /:D = 0;
}


/per
Avatar billede elnino Nybegynder
20. maj 2001 - 00:03 #9
per, jeg for nu dublikered  mine mc\'er. Jeg har lige fået det til at fungere, så jeg arbejder lidt videre og vender tilbage om lidt (med et relt problem og nogle points ;-))
Avatar billede hoejrup Nybegynder
20. maj 2001 - 00:39 #10
Du skal være velkommen

/per
Avatar billede hoejrup Nybegynder
20. maj 2001 - 21:22 #11
Hvad er der i vejen, siden du ikke vendte tilbage?

/per
Avatar billede elnino Nybegynder
20. maj 2001 - 22:07 #12
Undskyld ventetiden - jeg skal til eksamen på fredag men vil hellere lave flash - den er lidt svær;-)

Ang. mit sidste spørgsmål, var det en mindere sytax fejl som jeg har rettet. Nu har jeg prøvet at lave en test hvor en laser skal skyde planeten
og planeten sprænge i luften og så kommer der nogle små stykker(_root.sma_planet)der hvor den sprang i luften.
Den lille planet kommer i højer side af min skærm og ikke der hvor min planet er......
(selve ekplosion har jeg ikke lavet!)

hittest på mit skud:
onClipEvent (enterFrame) {
if (_root.planet21.hitTest(this) == true) {
_root.controller.check =1;
    }


action i min planet(sma_planeter er dem der skal komme efter ekplosionen af den store og skal komme samme sted som den blev ramt)

onClipEvent (enterFrame) {
Xplanet = Number(getProperty(_root.planet21.planet3, _x));

yplanet = Number(getProperty(_root.planet21.planet3, _y));

_root.sma_planeter.duplicateMovieClip(\"små_planeter\"+y, y);
setProperty (sma_planeter15, _x, xplanet);
setProperty (sma_planeter15, _y, yplanet);
  _root[\"sma_planeter\" add y].play(2);
    y = y+1;
    check = false;
}

kan du hjælpe mig med hvorfor den ikke sætter min nye planetter der hvor den gamle blev ramt???

elnino
Avatar billede hoejrup Nybegynder
22. maj 2001 - 21:54 #13
Du skal følge syntaxen:

duplicateMovieClip (fra navn, til navn , level);

fra navn: er dit instance navn på planeten, der ligger udenfor scenen. Du kan nemlig ikke kopierer
en planet fra biblioteket. Planeten skal i forvejen ligge på scenen eller udenfor scenen.

Hvis du har flere planeter liggende udenfor scenen, der hedder sma_planet med et løbenummer:

onClipEvent (enterFrame) {
Xplanet = Number(getProperty(_root.planet21.planet3, _x));

yplanet = Number(getProperty(_root.planet21.planet3, _y));

_root.sma_planeter.duplicateMovieClip(\"/sma_planet\"+y,\"sma_planeter\" add y, y);
setProperty (\"sma_planeter\" add y , _x, xplanet);
setProperty (\"sma_planeter\" add y, _y, yplanet);
  _root.[\"sma_planeter\" add y].play(2);
    y = y+1;
    check = false;
}

/per
Avatar billede elnino Nybegynder
31. juli 2001 - 15:10 #14
Forsinket tak...
Avatar billede hoejrup Nybegynder
31. juli 2001 - 16:08 #15
Velbekomme...
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