1

Sonntag, 18. Februar 2018, 22:53

Pictures bewegt sich mit Event mit

Es ist sehr praktisch, wenn ich festlegen kann, dass ein Picture an der Position eines Events angezeigt wird. Das Picture soll sich mit dem Event mitbewegen, also wenn das Event aus dem Bildschirm rausläuft, läuft auch das Picture raus oder wenn sich der Held bewegt, scrollt das Picture mit dem Event mit.
:image:

Das ganze erfordert nur ein paar Eventbefehle und kommt ohne Plugins aus, was es zu einer einfachen Lösung für eure Projekte macht und auf jeden Fall funktioniert. Im folgenden Text erkläre ich euch mit Screenshots Schritt für Schritt, wie ihr das ganze einrichtet. Die Anwendungsfälle sind beliebig: Sei es, dass sich der Schein einer Laterne mit dem Nachtwächter-Event mitbewegen soll, oder der flackernde Lichtschein eines Fernsehers soll immer an der Position des Fernsehers sein, obwohl der Held herumläuft und den Bildschirm mitbewegt oder für ein SciFi-Abenteuer wie ich es gleich vorstelle.


Motivation
Mein Abenteuer findet in der Zukunft statt. Unser Held kann seine Computerbrille aufsetzen und bekommt dann zu den Events um sich herum Informationen angezeigt. Das funktioniert so, dass ich ein Picture über dem Event anzeige:
Bild

Das sieht ganz cool aus, wenn dann plötzlich über den Events solche Infos angezeigt werden, aber ich bin sicher man kann mit der Technik, dass ein Picture sich mit einem Event mitbewegt auch noch viel mehr cooles Zeug bauen.


How To (in vier Schritten)
Ihr könnt mit dieser Technik beliebig viele Pictures an beliebig viele verschiedene Events binden. Ihr braucht dafür jeweils:
  • ein Picture
  • ein Event als Ziel
  • zwei Variablen und
  • ein paralleles Event für die Funktion
Und dann tut ihr folgendes:
  1. Erstellt ein neues Event und wählt als Auslöser "Parallel" Bild (siehe Bild). Dieses Event wird sich darum kümmern, dass das Picture eurer Wahl immer an der Position des Events angezeigt wird.

  2. Die ersten beiden Eventbefehle die ihr braucht sind zweimal ◆Variablen steuern.
    Wählt jeweils als Operation "Einstellen" und als Operand klickt ihr auf den Button "Spieldaten" und wählt dann dort "Charakter" und dann "Bildschirm X" für die Bildschirmposition des Charakters.
    Bild

    Das gleiche macht ihr dann nochmal mit einer zweiten Variable für die Bildschirm-Y-Koordinate.

    Kommentar:Speicher die Bildschirmposition der Wache
    Variablen steuern:#0001 = Bildschirm X von EV002
    Variablen steuern:#0002 = Bildschirm Y von EV002


    Jetzt speichern die Variablen 1 und 2 die Position des Ziel-Events auf dem Bildschirm.

  3. Der nächste Schritt ist das Picture an dieser variablen Position anzuzeigen. Wäht den Eventbefehl ◆Bild zeigen aus. Dort könnt ihr dann das Picture bestimmen, was über dem Event angezeigt werden soll und danach kreuzt ihr als Position "Bezeichnung mit Variablen" an und gebt dort die beiden Variablen für X und Y an, die ihr eben mit den Eventbefehlen gesetzt habt.
    Ich habe zusätzlich noch als Ursprung "Mitte" ausgewählt. Dadurch wird das Picture über der Eventposition zentriert.

    Bild zeigen:#1, screen_wache, Mitte ({#0001},{#0002}), (100%,100%), 255, Normal

  4. Eigentlich seid ihr an dieser Stelle fertig, aber je nach dem, wie euer Picture aussieht gibt es noch diesen Bonusstep "Schritt 4". Wenn ihr ein Picture wie ich habt, ist es nötig die Position des Pictures noch leicht zu verschieben. Es soll nämlich nicht direkt über der Eventposition zentriert werden sondern noch leicht nach oben geschoben werden. Inwiefern euer Picture noch verschoben werden muss, könnt ihr ja ausprobieren. Bei mir war es nötig, das Picture noch um 96 Pixel nach oben zu schieben. Dafür habe ich oberhalb des ◆Bild zeigen Befehls nochmal die Variable 2 (die meine Y-Koordinate gespeichert hat) verringert. Dafür habe ich erneut einen ◆Variablen steuern Befehl eingefügt. Dieser hatte die Operation "Sub" und als Operand konstant "96".

Das fertige Kontrollevent sah bei mir dann so aus:

Kommentar:Speicher die Bildschirmposition von Wache 1
Variablen steuern:#0001 = Bildschirm X von EV002
Variablen steuern:#0002 = Bildschirm Y von EV002
Kommentar:Speicher die Bildschirmposition von Wache 2
Variablen steuern:#0003 = Bildschirm X von EV003
Variablen steuern:#0004 = Bildschirm Y von EV003
Kommentar:Die Bilder müssen um die halbe Bildhöhe noch nach oben geschoben werden
Variablen steuern:#0002 -= 96
Variablen steuern:#0004 -= 96
Bild zeigen:#1, screen_wache, Mitte ({#0001},{#0002}), (100%,100%), 255, Normal
Bild zeigen:#2, screen_wache, Mitte ({#0003},{#0004}), (100%,100%), 255, Normal


Wie ihr seht, kümmert sich das eine Kontrollevent direkt um zwei verschiedene Ziele. Ich hatte auf der Map nämlich zwei Wachen stehen. Das könnt ihr auch machen. Ein Kontroll-Event kann beliebig viele Events mit beliebig vielen Pictures belegen.


Weitere Ideen
Ich habe das parallele Event mit einem Switch als Bedingung versehen. Wenn der Switch aus war, wurden die Bilder 1 und 2 (meine beiden Informations-Anzeigen) entfernt. War der Switch an, passierte das obige. Dadurch konnte ich dafür sorgen, dass mein Held seine Computerbrille aufsetzen musste, damit die Informationen sichtbar waren und wenn er sie abgesetzt hat (Switch = AUS) verschwanden die Informationen.

Was man noch machen könnte, wäre eine dritte Variable zu verwenden und je nachdem, was diese Variable für einen Wert hat über eine ◆Bedingte Verzweigung verschiedene Pictures an der Position des Events anzuzeigen. Darüber könnte man entweder eine kleine Animation erzeugen, indem man abwechselnd verschiedene Pictures anzeigt, oder man könnte vom Spielfortschritt abhängig was anderes anzeigen. Zum Beispiel ein Fragezeichen, wenn ich dieses Event ansprechen kann und später ein Ausrufezeichen, wenn ich erneut mit diesem Event interaggieren kann. Da ist ja einiges an Spielmechanik möglich.

Das grundsätzliche Konzept ist aber durch drei Eventbefehle erledigt: Bildschirmposition des Events speichern (zwei Befehle) und dort dann ein Picture anzeigen (ein Befehl). Das ganze in ein paralleles Event und fertig ist ein nettes, kleines System.

Fragen, Ideen gerne hier in den Thread und auch gerne was ihr für Systeme mit dieser Technik für euer Spiel gebaut habt. :-)

Josey

Storyteller

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

2

Mittwoch, 21. Februar 2018, 16:46

Tolles Tutorial! :D
Schön erklärt, anschaulich mit Bildern und Eventcode. Toll! :3
Und perfekt auf die anderen Maker übertragbar!

Ab wievielen fängt es an zu laggen? :3
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

3

Mittwoch, 21. Februar 2018, 19:59

Danke für das Lob. :-)

In meinem Projekt habe ich eigentlich nie eine zweistellige Anzahl von Pictures gleichzeitig auf diese Weise an Events gebunden. Ich weiß nicht, wie weit man das Picturebinding treiben kann, bevor es ruckelt. Im MV kann man maximal 100 Pictures gleichzeitig anzeigen per Eventbefehl (100 ist die höchste Picture-Nummer) ich denke das ist auch so die Obergrenze, wann es zu viel wird. Der RPG Maker XP sieht ja sogar nur 50 Pictures gleichzeitig vor.

Am liebsten hätte ich natürlich einen Testbericht von Shabz. :-D Wenn es auf seinem Toaster ruckelfrei läuft, sollte es auf allen Computern funktionieren. Aber Du kannst ja auch mal für deinen eigenen Rechner ausprobieren, wie weit Du das ganze reizen kannst, Josey. :-)

Social Bookmarks