Ergebnis 1 bis 9 von 9

Thema: [XP] Ein paar Probleme.

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat
    So wird das nichts. Ruby ist nicht der Event-Editor. Es gibt da keine "äquivalenten" Befehle, weil in Ruby völlig anders vorgegangen wird. Du kannst natürlich von Ruby aus Maker-Pictures anzeigen und bewegen, in dem du einfach den Code ausführst, der auch beim Show-Picture Befehl ausgeführt wird (wie oben gesagt: einfach in der entsprechenden Methode in der Interpreterklasse nachschlagen). Aber wenn du in Event-Code denkst, solltest du auch mit Event-Code arbeiten und nur dann zu Ruby greifen, wenn du irgendeine Funktion brauchst, die normaler Event-Code nicht hinbekommt. Ansonsten würde ich diesen Mix aus Ruby und Event-Code vermeiden. Wenn du Ruby scripten willst, dann rate ich dir, es richtig zu lernen und nicht einzelne Rubybefehle für bekannte Eventbefehle zu suchen.
    Ja, du hast recht, es wäre das Beste, Ruby sofort ganz zu lernen. Das Problem ist nur, dass ich jetzt sehr sehr viele Event Script codes nach diesem Schema habe:

    Code:
    if
    Input.trigger?(Input::C)
    then
    -->hier soll der sound abgespielt werden<--
    $game_variables[10] =
    $game_variables[10] + 1
    Held = Held + ""BUCHSTABE""
    end
    Sobald ich hier $game_system.se_play(RPG:udioFile.new("007-System07")) einfüge sagt er mir syntax error, sonst nicht . Ich Versuche die anderen Möglichkeiten von Adrian 2000 mal.

    Für jeden Buchstaben upper und lower case im Alphabet.
    Und am Ende bei $game_variables[10] = 8 kommt:

    Code:
    if
    Input.trigger?(Input::C) 
    then 
    $game_actors[1].name = Held
    teleport(8, 7, 9)
    end
    Wobei:

    Code:
    def teleport(id, x, y)
    $game_temp.player_transferring = true
    $game_temp.player_new_map_id = id
    $game_temp.player_new_x = x
    $game_temp.player_new_y = y
    $game_temp.player_new_direction = 0
    Graphics.freeze
    $game_temp.transition_processing = true
    $game_temp.transition_name = ""
    end
    Und da ich schon angefangen habe Ruby zu lernen, es ja aber "nicht ganz" kann (gerade mal die nötigsten Grundlagen vllt... ^^), muss ich die Makerbefehle teilweise in meine Ruby-Event-Scripts mit einbauen.

    In gewisser Weise ist dies auch meine Art, Ruby zu lernen. Zu gucken, wie macht der Maker bestimmt Dinge und wie mache ich sowas mit Ruby. Viele Dinge sind da ja schon vordefeniert. Ich komme einfach noch nicht mit der ganzen Syntax klar und weiß nicht so recht wie ich auf was zugreife (und ja, ich bin dabei mir den Ruby Grundkurs durchzulesen , das prob ist ich benötige Dinge wie print und so ja nicht, da ich ja hauptsächlich den Maker und nur für zusatzfunktionen (Strings, Arrays, Tastenabfragen und erweiterte Variablenverarbeitung) Ruby benutze). Darf ich mal eine Demo hochstellen und ihr sagt mir dann dazu, ob mein Ansatz, ein Spiel zu Programmieren mit Ruby so falsch ist?

    Geändert von Kampfwurst (19.09.2010 um 12:18 Uhr)

  2. #2
    Hier ist mein Testprojekt (mit eigener Namenseingabe und dem Bildschirmscrollen (aber nur in 2 Richtungen))

    TestProjekt.rar

    Dann guckt euch meinen Schlamassel mal an
    (Script Editor, Commun Events, Events)

    Edit:
    Sry für den Doppelpost...

    Edit 2:
    Die beiden Möglichkeiten von Adrian 2000 funktionieren auch nicht.
    Bei der ersten kommt ein MoMethodError Game_System und bei der zweiten kommt wieder ein Syntax error.

    Geändert von Kampfwurst (19.09.2010 um 12:14 Uhr)

  3. #3
    Code (ruby):
    if
    Input.trigger?(Input::C)
    then
    -->hier soll der sound abgespielt werden<--
    $game_variables[10] =
    $game_variables[10] + 1
    Held = Held + ""BUCHSTABE""
    end

    Das hier ist falsch:
    Code:
    Held = Held + ""BUCHSTABE""
    Zum einen sind Variablen, die mit Großbuchstaben anfangen, Konstanten und dürfen nicht mehrfach belegt werden (wobei das in einem Script...-Befehl evtl. nicht mal einen Fehler auslöst). Wichtiger: Innerhalb von Strings dürfen keine Zeichen gesetzt werden, die das Ende des Strings kennzeichnen. In deinem Fall wäre " das Ende des Strings. Dieses Zeichen darf im String nicht vorkommen. Wenn du es setzen willst, musst du es escapen in dem du ein \ davorsetzt.

    So müsste es richtig aussehen (wobei du statt held vermutlich eher eine globale Variable o.ä. nehmen wolltest):
    Code:
    held = held + "\"BUCHSTABE\""
    Außerdem: Du darfst nicht an jeder beliebigen Stelle einen Zeilenumbruch machen. Wenn du zuviel Code hast, der nicht in einen Scriptbefehl reinpasst, dann lagere ihn in eine Methode aus und rufe nur die Methode auf. Evtl. liegt dein Syntax-Fehler auch daran, dass du an einer falschen Stelle einen Zeilenumbruch eingefügt hast.

    Zitat Zitat
    Für jeden Buchstaben upper und lower case im Alphabet.
    Und am Ende bei $game_variables[10] = 8 kommt:
    Herrje, und du hast das alles hartcoded in Script...-Befehle geschrieben?

    Zitat Zitat
    In gewisser Weise ist dies auch meine Art, Ruby zu lernen. Zu gucken, wie macht der Maker bestimmt Dinge und wie mache ich sowas mit Ruby.
    Das Problem ist, dass das Anzeigen eines Bildes z.B. in Ruby nur 1-2 Zeilen sind. Aber ein Bild in das Spiel zu integrieren, sprich das es IM Spiel angezeigt wird, kann schon mal 20 Zeilen lang werden ^^° Gleichzeitig kannst du ein Event-Menü, was im Maker zig CommonEvents mit hunderten Eventbefehlen füllt, in Ruby in ein Zehntel der Codemenge scripten. Das sind einfach zwei verschiedene Welten. Dafür brauchst du nur mal dein Namenseingabescript mit dem des Makers vergleichen (Scene_Name, Window_NameInput, Window_NameEdit).

    Zitat Zitat
    (und ja, ich bin dabei mir den Ruby Grundkurs durchzulesen , das prob ist ich benötige Dinge wie print und so ja nicht
    Das ist ja nur der Anfang. Es gibt Tutorials, die gleich damit anfangen dem Nutzer zu zeigen wie man eigene Menüs etc. schreibt und erst danach die dazu nötigen Grundlagen erklären. Das ist auch möglich, für manche sicherlich auch motivierender. In dem Rubykurs hab ich mich aber dazu entschlossen, erst die Grundlagen zu beschreiben und danach Anwendungsfälle. Die ersten paar Kapitel wirst du also nur mit print rumwerkeln. Ab dem RGSS-Kapitel wird dann aber auch gezeigt wie man ein eigenes Charakter-Auswahlmenü und ein eigenes Auswahl-Menü schreibt. Dort wird auch erklärt wie man Bilder, Menüs etc. anzeigt. Also einfach Geduld haben und von vorne bis hinten durchlesen ^^

    Zitat Zitat
    Hier ist mein Testprojekt (mit eigener Namenseingabe und dem Bildschirmscrollen (aber nur in 2 Richtungen))
    rar und exe sind eher ungünstig, wenn man unter Linux arbeitet.

Berechtigungen

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