Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

  • »Grinsender Albtraum« ist der Autor dieses Themas

Motto: Menschen sind doof, Tiere sind doof, Pflanzen sind doof... Steine sind okay.

  • Nachricht senden

1

Sonntag, 1. November 2015, 20:58

Verschiebbare Blöcke

Jo, ich bins mal wieder, nach einer Weile, mit einer weiteren Frage. Wie der Titel schon verrät, brauche ich Hilfe für verschiebbare Blöcke.
Einen verschiebbaren Block an sich zu erstellen ist nicht das Problem. Man gibt ihm 'ne Grafik, sagt ihm, dass er sich bei Berührung einen Schritt vom Spieler wegbewegten soll, lässt einen Sound abspielen... Aber genau da liegt das Problem - beim Sound.
Wenn ich nun sage, dass mit der Bewegung ein Sound abgespielt werden soll, wird er das auch, wenn der Block z. B. vor einer Wand steht und sich dann gar nicht fortbewegt - das kommt natürlich ein bisschen blöd...
Wie kann man es einrichten, dass der Schiebe-Sound wirklich nur dann kommt, wenn der Block sich auch bewegt?


Ich habe mal mein Event, so wie es ist, im Anhang drin.
»Grinsender Albtraum« hat folgende Datei angehängt:
  • Unbenannt-1.jpg (287,98 kB - 10 mal heruntergeladen - zuletzt: 24. Juli 2016, 15:39)
Was lebt, das kann man töten. Was tot ist, das kann man essen.
--------------------------------------------------------------------------
:map: Mapping: :star::star::star::star::star:
:compile: Scripting: :star-empty::star-empty::star-empty::star-empty::star-empty:
:system-monitor: Event: :star::star::star::star::star:
:doc: Story: :star::star::star::star::star-empty:
:pencil: Zeichnen: :star::star::star::star::star:
:palette: Pixeln: :star::star::star-half::star-empty::star-empty:
:music-beam-16: Musik & Sounds: :star::star::star::star-empty::star-empty:
--------------------------------------------------------------------------
Bevorzugter Maker: :ace:
Ebenfalls im Besitzt: :rmxp: :rmvx: :rmmv:

2

Sonntag, 1. November 2015, 21:03

Du könntest entweder übeprüfen, ob das Zielfeld frei ist, oder Du überprüfst, ob sich nach einem Frame der Block sein altes Feld verlassen hat.
Für letzteres einfach vorher und nachher die Position des Blocks in Variablen speichern und dann vergleichen.
Das wäre meine Idee, um zu prüfen, ob der Block sich wirklich bewegt und dann einen Sound zu spielen.

Bex

Seher

Motto: Lets have some Fun.

  • Nachricht senden

3

Montag, 2. November 2015, 21:51

Playms Idee viel mir gar nicht ein , sie gefällt mir sehr gut.
Oder du benutzt wie er sagte den 1Frame Wait und machst dann einen Conditional Branch Eventcommand und dadrin die Scriptzeile.

Quellcode

1
$game_map.events[@event_id].moving? 

Das hab ich gefunden und benutze es grad für ein lernprojekt mit rutschiegen Böden.

Pseudocode:

Move Event (Skip marked but dont mark wait for completion)
1Frame Wait
Conditional Branch
Play Sound
no else case needed

4

Montag, 2. November 2015, 23:19

Ich finde get_character(0).moving? schöner, auch wenn da kein Unterschied besteht. :-P
Guter Hinweis, Bex. Hatte garnicht dran gedacht einfach die moving? Methode zu verwenden. Wenn man es nicht unbedingt mit Variablen machen möchte ist das eine gute Lösung für das Problem und der Eventcode wird auch etwas kürzer.

Bex

Seher

Motto: Lets have some Fun.

  • Nachricht senden

5

Dienstag, 3. November 2015, 01:14

Danke das mit der 0 ist hilfreich.

  • »Grinsender Albtraum« ist der Autor dieses Themas

Motto: Menschen sind doof, Tiere sind doof, Pflanzen sind doof... Steine sind okay.

  • Nachricht senden

6

Dienstag, 3. November 2015, 10:58

Supi, klappt wunderbar!
Danke! =D
Was lebt, das kann man töten. Was tot ist, das kann man essen.
--------------------------------------------------------------------------
:map: Mapping: :star::star::star::star::star:
:compile: Scripting: :star-empty::star-empty::star-empty::star-empty::star-empty:
:system-monitor: Event: :star::star::star::star::star:
:doc: Story: :star::star::star::star::star-empty:
:pencil: Zeichnen: :star::star::star::star::star:
:palette: Pixeln: :star::star::star-half::star-empty::star-empty:
:music-beam-16: Musik & Sounds: :star::star::star::star-empty::star-empty:
--------------------------------------------------------------------------
Bevorzugter Maker: :ace:
Ebenfalls im Besitzt: :rmxp: :rmvx: :rmmv:

Bex

Seher

Motto: Lets have some Fun.

  • Nachricht senden

7

Dienstag, 3. November 2015, 11:02

Beim lesen deines ersten Posts fällt mir noch auf das du noch in einen Bug rennen wirst in den ich auch gerannt war.
Du sagst du benutzt den Moveroutebefehl Move Away from Player. Das kann bei Wänden dazu führen das der Stein z.B nicht nach rechts rollen kann und aufeinmal nach oben rollt obwohl
der Player links daneben stand.

Benutzte dann einfach Set Moveroute: Turn away from Player, 1Step forward.

Social Bookmarks