Avatar billede gobbles Nybegynder
17. december 2004 - 05:14 Der er 8 kommentarer og
1 løsning

tyngdekraft, vinkel og fart

Hej
Jeg har lige læst en fin tråd herinde og jeg forsøgte at kopiere de brugbare ting ud af den, men jeg har desværre stadigt et lille problem.
Jeg forsøger at lave et længdesprings-spil hvor en lille mand hjuler hen ad en bane og på et tidspunkt trykker man musen ned og en lille vinkel måler kører op, når man så slipper har man en vinkel og en fart, jeg ville gerne sende den lille mand afsted i den vinkel og ellers lade ham være påvirket af tyngdekraften.
jeg har indtil videre denne kode, men den tager desværre ikke højde for min vinkel.

on (release) {
    _root.man.gotoAndPlay(14);
    _root.track_field.stop();
    jump_reg = 1;
    jump_angle = _root.click_track.meter._rotation;
    xVel = 5;
    yVel = -15;
    tyngdeKraft = 1;
}
onClipEvent (enterFrame) {
    if (jump_reg == 1) {
        _root.man._x += xVel;
        yVel += tyngdeKraft;
        _root.man._y += yVel;
    }
    if (_root.man.hitTest(_root.line)) {
        jump_reg =0;
        _root.man.gotoAndStop(22);
        _root.man._x = _root.man._x;
        _root.man._y = _root.man._y;
    }
}
mange tak..
Avatar billede japping Nybegynder
17. december 2004 - 09:20 #1
Jeg kan ikke Flash, men vil gerne hjælpe.

Hvis personen sætter af med hastigheden V0 i vinklen T med tyngdekraften g, vil (x,y) koordinaterne blive:

r=(x,y)=(v0*cos(A)*t,V0*sin(A)*t-½*g*t*t)

Kan du bruge dette ?
Avatar billede japping Nybegynder
17. december 2004 - 10:19 #2
Det var da noget vrøvl jeg fik skrevet. Jeg prøver lige igen:
Formlen er:
r=(x,y)=(v0*cos(A)*t,V0*sin(A)*t-½*g*t*t)
Hvor v0 er starthastigheden i vinkle A med tyngdekraften g. t er tiden fra personen sætter af og frem til det ønskede tidspunkt på "spring-kurven".

Jeg lægger lige et svar samtidigt.
Avatar billede barklund Nybegynder
17. december 2004 - 17:36 #3
Tja, det komplicerer jo gobbles' funktion betydeligt, og han er som sådan ikke interesseret i at det er "fysisk" korrekt - bare at det tager hensyn til vinklen :)

Det er dine xVel og yVel, der skal initialiseres ud fra din vinkel i radianer - men da jeg ikke helt ved, hvordan din _rotation er i forhold til den vinkel, der skal hoppes (starter den vandret med _rotation = 0 eller?), så kan jeg ikke lige hjælpe dig. Men hvis du kan bekræfte, at vi for eksempel har _rotation=0 ved vandret og _rotation=-90 ved lodret og ellers fordelt derimellem, så kan jeg sagtens hjælpe dig med resten. Men find lige ud af det først ;)

--
Morten Barklund
Avatar billede gobbles Nybegynder
18. december 2004 - 19:27 #4
Hej Morten
Ja du har ret, jeg har også haft fysik i gymnasiet, men mange tak for din indsats japping.
Jeg har mine værdier fra 0=vandret til 90 = lodret. du kan ikke se det på min kode men jeg ganger min rotation med -1 så den er positiv før den bliver hentet ind i min funktion.

tak
Avatar billede barklund Nybegynder
18. december 2004 - 19:44 #5
Så er det bare at finde den startende "længde" af dit hop, som i nedenstående er hardcodet til 20 (vektorens længde) og så er xVel og yVel x og y delene af denne vektor:

jump_angle = Math.PI/180*_root.click_track.meter._rotation;
speed = 20;
xVel = speed*Math.cos(jump_angle);
yVel = -speed*Math.sin(jump_angle);

Det skulle vist gøre det!

--
Morten Barklund
Avatar billede gobbles Nybegynder
18. december 2004 - 19:53 #6
Det virker perfekt.
Tak for hjælpen, lad mig lige se om jeg forstår hvad der sker, først regnes vinklen om i radianer, så sættes xVel og yVel til en vektor med længde(fart) og vinkel jump_angle..
smid endeligt et svar
Avatar billede barklund Nybegynder
18. december 2004 - 20:00 #7
Fuldstændig korrekt - det er ret simpelt :)
Avatar billede barklund Nybegynder
18. december 2004 - 20:12 #8
Tark for points :)
Avatar billede gobbles Nybegynder
18. december 2004 - 20:15 #9
selv tark ;)
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