Ergebnis 1 bis 12 von 12

Thema: LE Problem *Help, I need Help xD*

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    @Rabu: Häh? Was ist falsch daran, wenn man Ruby sagt? Immerhin schreibt man auch Ruby oO Und es ist ja auch kein Rubyauszug, sondern das richtige Ruby welches durch zusätzliche Bibliotheken erweitert wurde.

    Zitat Zitat von KD vor etlichen Monaten
    Eigentlich sind für sowas Events am geeignetsten. Das einzige Problem bei Events ist, dass sie 4*4 Animationen haben. Wenn du davon nur eine brauchst, ist das natürlich unschön.

    Ansonsten hab ich mal auf eine ähnliche Anfrage vor mehreren Monaten ein Script geschrieben:
    Zitat Zitat von KD
    Solche Zusatzfunktionen lassen sich leicht mit Ruby schreiben.
    Code:
    class Game_Picture
      MAP = true
      SCREEN = false
      def move_with=(value)
        @move_with = value
      end
      def x
        if @move_with then (@x - $game_map.display_x) / 4 else @x end
      end
      def y
        if @move_with then (@y - $game_map.display_y) / 4 else @y end
      end
      alias show_move_with show
      def show(*a)
        @move_with = SCREEN
        show_move_with(*a)
      end
    end
    class Interpreter
      def picture_move_with_map(id, v=Game_Picture::MAP)
        $game_screen.pictures[id].move_with = v if $game_screen.pictures[id]
        true
      end
      def picture_move_with_screen(id)
        picture_move_with_map(id,Game_Picture::SCREEN)
      end
    end
    Hab hier mal ein solches Script geschrieben. Du musst nur den Scripteditor öffnen (F11), mit der rechten Maustaste auf Main klicken und dann auf Insert (es wird ein leeres Script eingefügt) und in das neue, leere Script den Code reinkopieren.

    Danach kannst du die "Move with Map" Funktion bei Pictures einstellen. Es gibt zwei Funktionen:
    picture_move_with_map(id_des_pictures) lässt ein Picture fixieren.
    picture_move_with_screen(id_des_pictures) lässt ein Picture mit dem Helden mitbewegen (Standardeinstellung). Du musst diese Funktionen nur in den "Script"-Befehl eingeben. Z.B.
    Code:
    picture_move_with_map(3)
    Lässt das Picture mit der ID 3 fixieren.

    Geändert von -KD- (31.10.2007 um 19:08 Uhr)

  2. #2
    Könntest du mal genau erklären was das Script eigentlich macht? Ich hab etwas Schwierigkeiten so eine Schreibweise zu verstehen, weil du ja eine sehr komprimierten Syntax wählst. Bzw. kenne ich mich mit Ruby auch nicht so gut aus. Mich interessiert vor allem wieso das so einfach funktioniert wofür die einzelnen Methoden sind.

  3. #3
    Wichtig an dem ganzen Script sind ja nur diese zwei Methoden x und y, die ich einfach aus der Game_Character Klasse rauskopiert habe, da ja Charaktersprites ebenfalls statisch auf der Map angezeigt werden. Wobei ich da zu sorglos kopiert habe, das +32 und +16 am Ende muss raus *wegstreich*

  4. #4
    Und das Pic wird mit dem normalem "Show Picture" und "Erase Picture" angezeigt bzw. Gelöscht? (Denk ich jetzt mal.)

  5. #5
    Ich hab das Script schnell mal in 5 Minuten geschrieben, als jemand im Quartier danach gefragt hat. Ich kann also jetzt nicht garantieren das es in jedem Fall funktioniert (dafür müsste ich mich nochmal eingehender mit den Pictures beschäftigen). Meine Logik ist, dass die Methoden x und y die Position des Pictures auf dem Bildschirm angeben. Normalerweise sind das Instanzvariablen, die beim show Picture Befehl gesetzt werden show picture x=100 y=200 setzt @x auf 100 und @y auf 200). Das Picture wird normalerweise auf die Position dieser Variablen angezeigt. Ich ersetze die Getter-Methoden durch eine Fallunterscheidung: Wenn Picture auf der Map fixiert werden soll, so soll der @x Wert von der Position des Bildschirms auf der Map abhängen.

    Im Grunde genommen ändert mein Script nicht viel am Picture. Es fängt nur die Koordinatenabfrage ab und ändert diese bei Bedarf. Das heißt das alle Funktionen des Pictures wie gewohnt ablaufen. Wenn ein Script aber die Instanzvariablen @x und @y des Pictures wissen will (und nicht die tatsächlichen Koordinaten auf dem Bildschirm) so kommt es natürlich zu Problemen. Aber ich wüsste nicht wo im Scripteditor eine solche Abfrage stehen sollte (die Instanzvariablen sind ja uninteressant).

Berechtigungen

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