Avatar billede doodoo Novice
03. december 2003 - 13:32 Der er 15 kommentarer og
1 løsning

Movieclip skal Følge objektet

Hey exper..

Jeg har lavet en fin lille bil der kan styres via piltasterne...
Nu mangler jeg bare så land skabet/byen flytter med når man kører...
Altså hvis jeg kører til venstre skal baggrunden med landskabet/byen følge med så det er ikke kun er en 500x500pixels  by

Hvordan laves dette?
Avatar billede _k Nybegynder
03. december 2003 - 13:55 #1
Du kan lave din baggrund som ét stort mc, og derefter flytte dens x-koordinater:

on(keyPress "<Left>") {
    navnetPåDinBaggrund._x -= 2;
}
on(keyPress "<Right>") {
    navnetPåDinBaggrund._x += 2;
}

..det kan så nok godt betale sig at lave baggrunden større end det man lige kan se.....
Avatar billede doodoo Novice
03. december 2003 - 14:12 #2
Det virker sådan lidt...
du manglede _root.navn._x += 2; osv... men

Min bil:

onClipEvent (enterFrame) {
//This code will advance the car forward.
if (Key.isDown(Key.UP)) {
speed += 1;
}

if (Key.isDown(Key.DOWN)) {
speed -= 1;
}

if (Math.abs(speed)>25) {
speed *= .6;
}

if (Key.isDown(Key.LEFT)) {
_rotation -= 10;
}
if (Key.isDown(Key.RIGHT)) {
_rotation += 10;
}

speed *= .95;
x = Math.sin(_rotation*(Math.PI/180))*speed;
y = Math.cos(_rotation*(Math.PI/180))*speed*-1;
if (!_root.move.hitTest(_x+x, _y+y, true)) {
_x += x;
_y += y;
} else {
speed *= -.6;
}
}

DVS. jeg drejer og trykke pil op når jeg skal fremad...
Så jeg skal egentlig have sådan den følger/finder ud af hvor bilen er på vej hen af...

Kan du også det?
Avatar billede _k Nybegynder
03. december 2003 - 14:54 #3
Ja, det ovenstående gik lidt hurtigt med at blive liret af ;o)

Tror det er det her du leder efter:

now = this._x;
if(now > before) {
    trace("til højre");
}
else {
    trace("til venstre");
}
before = this._x;

Bare sæt det ind i din onClipEvent og erstat trace med det du vil (sikkert flytte baggrunden som før?). Gentager du scriptet og erstatter _x med _y, kan du også finde ud af, om du køre op eller ned.....
Avatar billede doodoo Novice
03. december 2003 - 15:50 #4
gider du lige banke de koder sammen?
mit MC hedder town
Avatar billede _k Nybegynder
03. december 2003 - 16:19 #5
onClipEvent (enterFrame) {

now = this._x;
if(_parent.moving == true) {
if(now > before) {
    trace("til højre");
    _parent.town._x -= 2;
}
else if (now == before) {
    // Gør ingenting
}
else {
    trace("til venstre");
    _parent.town._x += 2;
}
before = this._x;
}

upDownNow = this._y;
if(_parent.moving == true) {
if(upDownNow > upDownBefore && _parent.moving == true) {
    _parent.town._y -= 2;
    trace("ned");
}
else if (upDownNow == upDownBefore) {
    // Gør ingenting
}
else {
    _parent.town._y += 2;
    trace("op");
}
upDownBefore = this._y;   
}
//This code will advance the car forward.
if (Key.isDown(Key.UP)) {
speed += 1;
}

if (Key.isDown(Key.DOWN)) {
speed -= 1;
}

if (Math.abs(speed)>25) {
speed *= .6;
}

if (Key.isDown(Key.LEFT)) {
_rotation -= 10;
}
if (Key.isDown(Key.RIGHT)) {
_rotation += 10;
}

if (Key.isDown(Key.RIGHT) || Key.isDown(Key.LEFT) || Key.isDown(Key.UP) || Key.isDown(Key.DOWN)) {
    _parent.moving = true;
}
else {
    _parent.moving = false;
}

speed *= .95;
x = Math.sin(_rotation*(Math.PI/180))*speed;
y = Math.cos(_rotation*(Math.PI/180))*speed*-1;
if (!_root.move.hitTest(_x+x, _y+y, true)) {
_x += x;
_y += y;
} else {
speed *= -.6;
}
}

..og så skal du lige sætte en variabel på hovedtidslinjen som siger:
var moving = false;
Avatar billede doodoo Novice
03. december 2003 - 17:32 #6
i selve scenen?
Avatar billede _k Nybegynder
03. december 2003 - 20:27 #7
yep - lav evt. 3 lag - et til din bil - et til baggrunden - og et til actionscriptet (altså kun: var moving = false)
Avatar billede doodoo Novice
03. december 2003 - 20:49 #8
hmmm det giver dette resultat:
www.doodoo.dk/dytdyt.swf
Avatar billede doodoo Novice
03. december 2003 - 20:56 #9
den skulle jo egentlig bevæge sig som http://www.peugeotsport.co.uk/game/

ikk?
Avatar billede _k Nybegynder
03. december 2003 - 21:03 #10
Hvorfor har du sat scriptet på vejen og ikke bilen?
Avatar billede doodoo Novice
03. december 2003 - 21:07 #11
det var jo det der var pointen... det var vejen der skulle følge med hvor bilen kører hen... ligeså det link til peugeot spillet?
Avatar billede _k Nybegynder
03. december 2003 - 21:08 #12
prøv at putte scriptet på din bil - og husk at kalde din vej "town". Så skal du bare se løjer ;o)
Avatar billede doodoo Novice
03. december 2003 - 21:13 #13
HAHA genialt :P

jeg takker :)
Avatar billede _k Nybegynder
03. december 2003 - 21:13 #14
... kan forresten godt li' dit ambitionsniveau. Pegeutspillet er skruet sammen af små 700 linjers kode. Men bevars, det er faktisk ret fedt :o)

..og husk lige for fremtiden at Eksperten er hjælp til selvhjælp, du kan ikke forvente at alle er ligeså godhjertede (og for en gang skyld havde lidt tid) at de gider bikse det meste af motoren til et spil sammen for dig. Og skal det endelig være, er der en katagori for den slags opgaver.....
Avatar billede _k Nybegynder
03. december 2003 - 21:14 #15
takker for point - held og lykke med at få spillet færdigt :o)
Avatar billede doodoo Novice
03. december 2003 - 21:16 #16
jeps iknow... men var 2talt lost :)
så lidt og mange tak for hjælpen
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