RPG-Maker Quartier

Hier dreht sich alles um die RPG-Maker-Reihe von ASCII/Enterbrain. Der RPG-Maker ist ein Tool, mit dem du dir dein eigenes kleines Rollenspiel erstellen kannst. Du findest hier alles, was du dazu brauchst. Aber natürlich umfasst die Community noch mehr!
Aktuelle Zeit: Di Mär 03, 2020 2:59

Alle Zeiten sind UTC + 1 Stunde



Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
Offline
Alex
Alex
Beiträge: 5
 Betreff des Beitrags: Klassenfenster
BeitragVerfasst: So Aug 28, 2011 9:18 
Hallo zusammen,
ich hätte da eine Frage. Wie mache ich ein eigenes Fenster indem dann z.B. alle Actors der Klasse fighters angezeigt werden?
Würde mich über Antworten freuen!

Mfg
neosion


Nach oben
 Profil  
Mit Zitat antworten  

 Betreff des Beitrags: Re: Klassenfenster
BeitragVerfasst: So Aug 28, 2011 13:35 
Guck dir im Skript die Window-Klassen an.
Window_Steps und Window_Playtime eignen sich, das sie sehr minimalistisch sind.

Als Basisaufbau solltest du Window_MenuStatus nehmen, das ist das Fenster rechts im Spielmenü.

Jenachdem was du anzeigen willst brauchst du:
$game_party.actors - sind alle Helden der Gruppe
$game_actors - sind alle Helden im Spiel

Das Attribut class_id (1-x) steht in den Objekten für die Klasse.
Nach Bedarf in Window_Status die gewünschten Parameter-Funktionen zusammensuchen und alles in die refresh-Methode schreiben.

Wenn du ne eigene Szene für das Fenster haben willst eignet sich Scene_Status als Vorlage sehr schön, da es auch nur ein Fenster beinhaltet.

bei Fragen nochmal schreiben.


Nach oben
  
Mit Zitat antworten  
Offline
Alex
Alex
Beiträge: 5
 Betreff des Beitrags: Re: Klassenfenster
BeitragVerfasst: So Aug 28, 2011 15:53 
Vielen Dank für deine Antwort.
Ich habe jetzt wirklich Probleme. Ich bin ein totaler Anfänger in RGSS.
Jetzt habe ich dieses Script geschrieben. Sollten jetzt nicht alle Name stehen? Und was müsste ich machen, damit alle Charaktere der class fighters stehen? Und meine letzte Frage: Was müsste ich schreiben, damit wenn man auf einen Character drückt, er aus dem Team entfernt oder zum Team hinzugefügt wird?

Code:
class Scene_Test1
def main

 @Test1 = Window_Test1.new
 @Test1.x = 0
 @Test1.y = 0
 Graphics.transition

 loop do

 Graphics.update

 Input.update
 if $scene != self
 break
 end

 end

 Graphics.freeze

 @Window_Test1.dispose
 end
 end

 
 class Window_Test1 < Window_Base

 def initialize


  super(0 ,0 ,640 ,480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = Font.default_name
    self.contents.font.size = Font.default_size
    @actor = $game_party.actors[actor]
 refresh

 end #
 def refresh

 self.contents.clear
 

draw_actor_name(@actor, 4, 0)

 end
 end

tws: habs mal in dem Code-Tag gepackt


Nach oben
 Profil  
Mit Zitat antworten  

 Betreff des Beitrags: Re: Klassenfenster
BeitragVerfasst: Mo Aug 29, 2011 9:48 
Sieht für den ersten Versuch garnicht mal schlecht aus.
Denk beim nächstenmal an mehr Einrückungen und den Code-Tag beim Posten von Quellcode.

Bei deinem Skript sollte ein Fehler gewerfen werden, da du actor nicht definiert hast.
Überhapt solltest du @actor = $game_party.actors[actor] nicht im Konstruktor sondern in refresh schreiben.
Zudem hast du die Schleife vergessen. So bekommst du immer nur einen Wert.
Du hättest die vom MenuStatus beibehalten sollen:
for i in 1...$game_party.actors.size
Noch en Tipp zur Positionierung: Da du nicht jeden Helden darstellen willst kannst du die Position nicht setzen sondern musst sie verschieben:
nicht immer: x = 32 * i
sondern: vorher: x = 32, danach immer: x += 32

Deine Schleife:
Code:
loop do

Graphics.update

Input.update
if $scene != self # passiert hier nie
break
end

beinhaltet keine Möglichkeit die Szene zu verlassen.
Dazu solltest du ne update-Methode aufrufen, die bei Tastendruck eine andere Szene aufruft:
Code:
if Input.trigger?(Input::B)
 $scene = Scene_Menu.new


So zu dem Problem mit der class_id:
Angenommen @actor zeigt auf einen Actor, dann müsstest schreiben:
Code:
# Schleife start
if @actor.class_id == 1
  # alle Anzeigen
end
# schleife end


Nach oben
  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de