Ergebnis 1 bis 8 von 8

Thema: Den Helden hüpfen lassen...

  1. #1

    Mani Gast

    Den Helden hüpfen lassen...

    Hallo, wie kann man den eigenen Helden hüpfen lassen, wenn man die Enter-Taste drückt? Also dass man zum Beispiel über ein Hindernis hüpfen kann.
    Danke schonmal im Voraus!

  2. #2
    Hallo,

    sollte recht einfach sein:

    Du erstellst an der Stelle, wo der Held springen soll ein Event (Push Key, Same Level as Hero) und trägst dort ein:

    Move Event:
    Start Slip Through
    Start Jump
    Richtung *
    End Jump
    End SlipThrough

    Bei Richtung müsstest du dann angeben, wieviele Tiles der Held springen soll und in welche Richtung. Start SlipThrough ist hierbei ganz wichtig anzugeben, weil der Held sich sonst nicht über das Hindernis bewegen kann.

    Hoffe das hat dir geholfen,
    LG

  3. #3
    also eig. kommt es ganz drauf an!

    also willst du das er jedesmal springt also egal wo er gerade steht das er
    hüpft oder nur an einer bestimmten stelle?


    MFG

    TBK

  4. #4
    Um mal an das anzuknüpfen, was TheBlackKnight sagte: Wenn du willst, dass dein Held frei durch die Gegend hüpfen kann wird das Ganze schon ein bisschen komplizierter.

    In dem Fall braucht du (mindestens):
    1 Parallel Process in den Common Events
    - Enter Password (Tastenabfrage) auf Decision(5)
    - Move Event
    -- Start Jump
    -- [Richting, Weite]
    -- End Jump

    Natürlich ist das jetzt die extrem vereinfachte Version. Du musst das ganze dann auch noch in Relation mit If-Abfragen setzen, um sicher zu gehen, das dein Held nur dahin springt, wo er das auch darf bzw. kann.
    Hoffe, das konnte dir 'n Bisschen weiter helfen.

    Gruß Unit Nero

  5. #5
    Eine etwas komplizierte Variante ist diese hier:
    Du brauchst neue Variablen, namens Feld ID, Held X und Held Y.
    Zitat Zitat
    Change Variable: Var[0001:Held X] Event Hero X
    Change Variable: Var[0002:Held Y] Event Hero Y
    // damit hast du Die Variablen, auf denen sich der Held befindet. Jetzt muss geschaut werden in welche Richtung der Held guckt
    <>If Hero,Up (Direction)
    <>Change Variable: Var[0002:Held Y] - 2
    <>
    :Else Case
    <>If Hero,Left (Direction)
    <>Change Variable: Var[0001:Held X] - 2
    <>
    :Else Case
    <>If Hero,Right (Direction)
    <>Change Variable: Var[0001:Held X] + 2
    <>
    :Else Case
    <>Change Variable: Var[0002:Held Y] + 2
    <>
    End Case
    <>
    End Case
    <>
    End Case
    <>
    // Die Variablen werden so "verändert", dass man die Koordinaten des Feldes bekommt, das sich 2 Felder vor einem befindet. Jetzt wird geschaut, ob es sich dabei um ein "bespringbares" Feld handelt. Hierzu nehmen wir die ID des Feldes, die übrigends in der Database verändert werden kann. (s.u.)
    Set Terrain ID: ([0001],[0002]) Var(0003:Feld ID)
    <>If Var(0003:Feld ID) 1 // 1 habe ich in diesem Beispiel mal als "bespringbar" definiert!
    <> Move Event: Hero, Start Jump StartSlipThrough Walk Forward Walk Forward EndSlipThrough End Jump
    <> Move All // oder ein wait!
    End Case
    <>
    Das alles kommt wie Unit Nero schon gesagt hat in ein Common Event in der Database (Obwohl ichs lieber in ein Parallel Process auf der Map gemacht hätte). Das is nicht der ganze Code. Meine Teil anstatt des
    - Move Event
    -- Start Jump
    -- [Richting, Weite]
    -- End Jump
    in seinen Code.

    *zu dem Sternchen! In der Database kannst du unter Terrain die einzelnen "IDs" erstellen. Mach einfach erstmal 1 = bespringbar, 2 = NICHT bespringbar.
    Dann wechselst du zu ChipSets und weist den einzelnen Chips ihre "IDs" zu!

    Kopp

  6. #6

    Mani Gast
    Ja, ich meinte dass man ihn überall hüpfen lassen kann.

    Ich habs, danke für die vielen Hilfen und schnellen Antworten!

  7. #7
    Öhm, warum eigentlich so viele Abfragen? Wenn ich dich richtig verstanden habe willst du, dass der Held springt, wenn es möglich ist, d.h. das Feld 2 Felder vor ihm begehbar ist.
    Dazu brauchst du allerdings keinerlei Abfragen, denn der Maker (zumindest der 2k, der 2k3 aber glaub ich auch) führen garkeine Sprungbefehle aus, wenn der Held das Zielfeld nicht betreten kann.
    Jadoos Möglichkeit umgeht dies zwar, macht die Sache aber leider unsinnig, denn so könnte der Spieler überall hin gelangen (also auch auf Hauswände, Flüsse, Abgründe, etc.).
    Wenn du also willst, dass der Held nur dann springt wenn sein Zielfeld frei ist, brauchst du nur das "Enter Passwort" und das "Move Event". Damit sparst du dir die Terrain-ID Abfrage und Einstellung.

    Wenn du allerdings willst, das der Held auch dann einen Sprung macht wenn das Feld nicht frei ist (sich dann allerdings in der Luft nicht bewegt), musst du schon eine Abfrage machen. Die von Kopp wäre dabei eine Möglichkeit, imo aber ein bisschen Umständlich, da man immer alle Chip-Sets mit Terrain-IDs versehen müsste.
    Daher ist es wohl einfacher nur abzufragen ob der Held sich nach dem Sprung bewegt hat.
    Ein Sprung dauert genau so lange, wie ein einzelner Schritt mit der gleichen Bewegungsgeschwindigkeit. Dabei ist es unerheblich, wie weit der Sprung ist.
    D.h. ein Move-Event mit:
    "Start Jump; Step Right; End Jump"
    Dauert genau so lange wie eins mit:
    "Start Jump; Step Right; Step Right; Step Right; Step Right; ...; End Jump"
    Das ist aber an sich hierbei unwichtig, was zählt ist, wann die Koordinate des Helden "umgeschaltet" wird. Und das wird sie bereits nach 0,0 Sekunden.

    Dein Code für das Springen sähe also so aus:
    Zitat Zitat
    <>Enter Passwort "Sprungpasswort" [5] [wait until key hit]
    <>Change Variable "Held X 1", set ["Hero" X-Coord.]
    <>Change Varibale "Held Y 1", set ["Hero" Y-Coord.]
    <>Move Event ["Hero": Start Jump; Step Forward; Step Forward; End Jump]
    <>Wait 0,0 secs
    <>Change Variable "Held X 2", set ["Hero" X-Coord.]
    <>Change Variable "Held Y 2", set ["Hero" Y-Coord.]
    <>Fork Variable "Held X 1" = "Held X 2"
    <><>Fork Variable "Held Y 1" = "Held Y 2"
    <><><>Move Event ["Hero": Start Jump; End Jump]
    <><>End:
    <>End:
    <>
    Ich hab diesen Code jetzt nicht getestet, aber an sich sollte das funktionieren

    mfg
    Phönix Tear

  8. #8

    Mani Gast
    Danke sehr

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •