11. marts 2003 - 09:29Der er
26 kommentarer og 1 løsning
en slags mur/boundary med speciel effekt
jeg er ved at lave et lille rpg spil, men jeg vil ikke have at ham manden kan gå udenfor skærmen, så hvordan gør jeg sådan han ikke kan? her er den kode jeg har på mit bevægelige mc:
og så vil jeg gerne vide om det er muligt at gøre sådan at når man går ud i fx siden, kommer den hen på en anden frame, så man nærmest er gået hen til en ny fx. by?
if (this._x > 560) { // tjekker om figuren er på vej ud af skærmen _root.backGround.gotoAndStop("next_town"); // rykker et fiktivt baggrunds-movieclip til en ny frame this._x = -10; // rykker figuren til starten af skærmen }
det burde være princippet i det :)
mvh mat
Synes godt om
Slettet bruger
11. marts 2003 - 09:41#2
det virker sådan set, men når man så skal til starten af skærmen, skal man først trykke til venstre (hvis man går mod højre) før man kommer til starten af skærmen... kan det ændres så det sker med det samme?
Synes godt om
Slettet bruger
11. marts 2003 - 09:48#3
det her virker med det der autoryk: if (this._x < 0) { // tjekker om figuren er på vej ud af skærmen _root.backGround.gotoAndStop("next_town"); // rykker et fiktivt baggrunds-movieclip til en ny frame this._x = 550; // rykker figuren til starten af skærmen }
men ikke det her?: if (this._x > 550) { // tjekker om figuren er på vej ud af skærmen _root.backGround.gotoAndStop("next_town"); // rykker et fiktivt baggrunds-movieclip til en ny frame this._x = 0; // rykker figuren til starten af skærmen }
tror det er det. og skal jeg så lave et mc som jeg så kalder backGround med forskellige baggrunde i hver frame?
Det øverste script rykker manden til position x = 550 og den næste til x = 0 - det er stort set det samme script, det er bare værdierne for hvornår mandne er ude af kortet der er forskellige, så de burde begge virke... Og ja, din baggrund skal ligge i et MC som hedder backGround. Hvis du ikke vil have at man skal kunne gå ud alle steder så kan du lave et movieclip i dit baggrunds-MC. Så laver du en hitTest på det:
Hvis du bliver ved med trykke til højre så skulle din mand når han går udenfor kortet eller rammer movieclippet straks blive ført til position x = 0! Ellers har du måske glemt at lave et loop på din film?
Synes godt om
Slettet bruger
11. marts 2003 - 13:48#7
jeg bruger en stop(); action i første frame ikke en loop
Det er det der er problemet. På din mand eller andet MC hvor du har actionen hedder clipEventen "enterFrame". Det betyder at scriptet kun bliver udført hver gang at MC'et går ind i et nyt frame i tidslinien. Lav et loop på din film: behold indholdet af første frame med fjern stop() actionen og i frame2 skriv dette: gotoAndStop(1); det burde løse problemet!!!
sæt det der hvor det skal starte - i ovennævnte er filmens dimensioner defineret til 200x200 - du kan selv definere dem ved at ændre på xMin og xMax.
Movieclippet bliver ikke placeret et bestemt sted, hvis det bliver rykket ud af skærmen er det fordi du har lagt det på et x-koordiant der er højere en xMax.
Synes godt om
Slettet bruger
11. marts 2003 - 15:29#14
jeg kan ikke få både y- og xmax til at virke?! altså min film er 550*400 som jo er standard, og jeg er ikke specielt god til actionscripting
sæt det her i load istedet, så er dimensionerne på plads :)
Synes godt om
Slettet bruger
11. marts 2003 - 15:38#16
okay, det virker, den starter stadig lidt udenfor (kan ikke rette det) men det må jeg så leve med, men hvad så med det med at den skifter frame når den går udenfor rammen til venstre fx.
if (this._x - (this._width/2) > xMax) { this._x = xMin - (this._width/2); _root.backGround.gotoAndStop(2); // ret selv framenummer her } else if (this._x + (this._width/2) < xMin) { this._x = xMax + (this._width/2); _root.backGround.gotoAndStop(2); // ret selv framenummer her }
</snip>
Dit baggrundsmovieclip skal så have instancenavn "backGround" (uden citationstegn)
Synes godt om
Slettet bruger
11. marts 2003 - 16:08#18
jeg har lagt en stop(); action i frame 1 (den første baggrund) i mit backGround mc og så lavet nummer 2 baggrund i frame 2, men den viser ikke 2'eren når jeg går ud af siderne
her er et script hvor du kan gå til 4 forskellige frames i "backGround" - den starter så i frame 1 og tæller op når du går til højre og ned når du går til venstre:
men hvordan laver man så en mur, som gør at ens person ikke kan gå videre?
Synes godt om
Ny brugerNybegynder
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.