Hum, bin zwar an sich Neuling in RGSS...aber ich versuchs mal trotzdem:
Du kannst sicherlich Zahlen einfach "auf den Bildschirm" schreiben.
Allerdings brauchst du ein leeres Bitmap dadrunter auf das du schreiben kannst.
Das ginge sicherlich auch auf einem Fenster bei dem du die Transperenz auf 100% hochsetzt, aber das halte ich jetzt einfach mal für Ressourcenverschwendung. (ohne Gewähr)
Die Einstellung des Schriftfonts ist übrigens nicht beim legalen XP nötig. Allerdings weiß ich nicht mit was für einem du arbeitest. Also ist es mal mit drin.
So solltest du an sich Text auf dem Bildschirm lesen. Halt aufs leere Bitmapobjekt geschrieben. Je nach Wunsch musst du nun halt mit den Koordinaten und Größenangaben rumspielen.
Um dann zu schreiben benutzt du einfach den "Script" Befehl und fügst dort folgendes ein:
Nimm dir dafür irgendein Event das du dir erstellen musst. Am besten eine Art NPC den du ansprechen kannst.
PS:
Mist. Ich seh grad du willst ja Variablenwerte nehmen. ^^"
Das ist aber nicht sich nicht viel anders. Du musst halt nur den draw_text Befehl etwas unändern. So in etwa:
Einfach an der Stelle wo früher der Text einfach angegeben war einfach die Variable angeben die angezeigt werden soll. An den Variablennamen musst du ein ".to_s" dranhängen. So wird der Zahlenwert in einen String umgewandelt vor der Anzeige. Ohne diese Anweisung würde dir der XP einen Fehler ausgeben. Immerhin kannst du keine Zahlenwerte an einer Stelle ausgeben wo die Funktion einen String erwartet.
Ob das ganze jetzt über deinen Bildern liegt weiß ich jedoch nicht. Musst du wohl mal ausprobieren.
@makenshi
Du solltest die Objekte mit kleinem Buchstaben schreiben, also z.B.
Dann könntest du dir noch eine Zeile sparen, indem du folgendes schreibst:
Die "Höhe" der Anzeige kann man so festsetzen:
Ich nehme immer 200, das liegt über den Pictures, aber auch über dem Debug-Menü.
Was dann noch fehlt ist ein sprite.bitmap.clear, damit der Text nicht ständig über schon bestehenden Text geschrieben wird. Praktischer wäre es natürlich sowieso, die Klasse flexibler zu machen:
Ah, das sieht doch wesentlich besser aus.
Nimm auf jeden Fall die Variante von Kelven.
Damit hättest du dann eine Funktion mit der du auf den ganzen Bildschirm schreiben kannst. Nutzungsweise wäre folgende:
Initalisierung der Funktion:
Schreiben eines Textes:
Beides natürlich wieder über "Script".
Ich kenne zwar bei Ruby die Abfrage nicht um abzufragen um welchen Typen es sich bei dem parameter "text" handelt, aber wäre es an sich nicht noch gut die methode ausgabe so zu ändern:
So müsste dann doch 100% immer ein String ankommen?Immerhin wandeln wir dann den Parameter um. So ist eine Fehlerquelle ausgeschlossen. Und ein Komfortfaktor eingebaut.
Ich hab's nur deswegen weggelassen, weil ich nicht genau wußte, ob es eine Fehlermeldung gibt, wenn man ein String-Objekt in einen String umwandeln will. Gibt es aber nicht, wie ein Test gezeigt hat, deswegen kann das to_s also bleiben. Aber mir ist noch was eingefallen. Wenn man mehr als einen Text anzeigen will, wäre eine eigene Löschmethode besser. Deswegen sollte die Klasse so aussehen (man muss dann nur immer manuell löschen):
@makenshi
Das mit dem texts ist doppelt-gemoppelt. Eine Zuweisung text = text.to_s ist kein Problem für den Interpreter, weil von rechts nach links ausgewertet wird. Außerdem könnte das text.to_s dann sowieso direkt in den Aufruf von draw_text.
@makenshi
Das mit dem texts ist doppelt-gemoppelt. Eine Zuweisung text = text.to_s ist kein Problem für den Interpreter, weil von rechts nach links ausgewertet wird. Außerdem könnte das text.to_s dann sowieso direkt in den Aufruf von draw_text.
...
Das habe ich an sich nur gemacht weil ich dachte das der Parameter "text" ja auch z.B. ein Integer sein könnte. Wenn man nun hergeht und text = text.to_s benutzt, dachte ich das der Versuch in eine Integervariable einen String zu verpacken eventuell einen Fehler auslöst. Hätte es denke ich auch.
Da du aber in der aktuellen Version ohnehin direkt beim parameter der draw_text Funktion direkt umwandelst, sollte das ohnehin egal sein.
Ruby hat soweit ich weiß keine explizite Typendeklarierung. So ist es mir z.B. mal passiert, dass ich die Standardvariablen in Floats umgewandelt hab, weil ich in einem Rubyscript geteilt habe.