befahren/springen von rampe (motocross)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • befahren/springen von rampe (motocross)

    huhu,

    zuerst, die suchefunktion habe ich schon benutzt, habe auch zwei threads gefunden die dem thema ähneln, allerdings enthalten diese nicht die gewünschte lösung. (und sind evtl zu alt zum bumpen)

    und zwar geht es um ein Motocross spiel, eine art clone von exitebike (nes).

    nun habe ich das problem, wie ich bewerkstelligen soll, das ein bike (player oder ki) eine rampe,bzw hügel befahren kann und auch über diesen hüpft bzw springt und auch wieder auf der bahn landet auf der er gestartet ist.



    hoffentlich ist es nicht allzu kompliziert, und es kann mir einer von euch weiterhelfen.

    für den fall das es mit der technik des bikes zutun hat (wovon ich mal stark ausgehe):

    den speed habe ich per
    hspeed+(relativ)
    max/min hspeed
    max/min hspeed

    bahnwechseln:
    vspeed (+/-)
    bahnbegrezung vspeed 0
    bahn (1/2/3/4)

    die neigung des bikes hat nen eigenen sprite also

    neigung+ (1,2,3,...) (relativ)
    image_single(1,2,3,...)


    ist bestimmt nicht die beste lösung, ohne rampen etc funktionierts jedoch (fast) einwandfrei

    mit bestem im vorraus

    raeumler

    ps: weiss zufällig jemand wodran es liegt, das manche sprites manchmal "angekrisselt" sind? bzw, warum (wie zb auf dem bild) 1 pixelige linien manchmal breiter wirken als andere linien des gleichen object/typs/sprites...auflösung ist 320*280(windowed), auf nem laptop 1024*768.
    bzw, wodran es liegt das es manchmal(oder immer?)das es so aussieht, als wenn eine art 'film' über die pixel gelegt wurde...ist relativ störend wenn die grafik "roh" wirken soll...


    /edit

    meine bisherige lösung

    "if obj.motorad.hspeed <0 --> move direction (up) speed = obj_motorad.hspeed"

    hab ich mal rausgenommen, da die eh nicht richtig funzt...

    Motocross_rampe.Gmk.Zip

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von Raeumler ()

  • eine davon hab ich sogar aufm rechner, allerdings sind die engines ja direkt-2d, das ist ja mehr diagonal ... (fläche der rampe etc) ...aber cool ist die schon. für ich aber glaub mich noch was zu kompliziert... ;>

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Raeumler ()

  • Original von Raeumler
    eine davon hab ich sogar aufm rechner, allerdings sind die engines ja direkt-2d, das ist ja mehr diagonal ... (fläche der rampe etc) ...aber cool ist die schon. für ich aber glaub mich noch was zu kompliziert... ;>


    Das ist ja eigentlich egal. Kannst der Rampe ne mask verpassen, die genau über die Spur geht.
    Aber oke. Zu kompliziert... Man könnte es ein wenig vereinfachen, da du ja keine 360° bewegung (keine Decke) hast, sondern nur halt den Boden und und nen paar Rampen.
  • uehm, gesundheit ... ne ich glaub das ist wirklich etwas ZU umständlich .. das müsste auch einfacher gehen, ich habs jetz grade eben die ganze zeit mit "vspeed+" und gravitation versucht.. aber irgendwie hauts nicht so wirklich hin...
  • so hier die gmk davon:

    meine lösung

    if obj.motorad.hspeed <0 --> move direction (up) speed = obj_motorad.hspeed

    hab ich mal rausgenommen, da die eh nicht richtig funzt...

    Motocross_rampe.Gmk.Zip

    vll fällt jemandem von euch etwas ein...

    (hoffentlich wird dadraus überhaupt jemand schlau :D)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Raeumler ()

  • kann mir jemand sagen wodran es liegt das die gravitations 0'ung manchmal funzt und manchmal nicht?

    einmal hab ichs geschafft, das der fahrer von der sprungschanze (allerdings ohne die möglichkeit diese hoch oder runter zu fahren) springt, und auch auf der bahn landet von der er abgefahren ist...allerdings war da die gravitiy viel zu hoch (!??)so das eine art 'eisprung' enstanden ist...

    hilfe, ich verzweifel langsam ...

    mein code (rauskopiert, da drag n drop)

    (obj_bahn3)

    Collision Event with object obj_motorad:
    for all obj_motorad: if jump is equal to 0
    for all obj_motorad: set the vertical speed to 0
    for other object: if prebahn is equal to 3
    for other object: set the gravity to 0 in direction 270
    for other object: if prebahn is equal to 3
    for other object: set the vertical speed to 0
    for other object: if prebahn is equal to 3
    for other object: set variable jump to 0
    for other object: if prebahn is equal to 3
    for other object: set variable prebahn to 0
    for other object: if prebahn is equal to 3
    for other object: set variable jump to 0

    (obj_motorad)
    Collision Event with object obj_bahn3:
    if jump is equal to 0
    if at relative position (0,0) there is not object obj_sprngschanze2
    set variable bahn to 3


    (obj_sprungschanze2)
    Collision Event with object obj_motorad:
    for other object: set variable prebahn to bahn
    set variable bahn to 0
    for other object: set variable neigung to 4
    for other object: set variable jump to 1
    for other object: if hspeed is larger than 0
    for other object: set speed to hspeed+2 and direction to 35


    zu hilf... ?(

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Raeumler ()