Ergebnis 1 bis 9 von 9

Thema: Wie stelle ich Variablen als Zahlen mit Ruby dar???

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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:
    Code:
    $schreiben = writeText.new
    Schreiben eines Textes:
    Code:
    $schreiben.ausgabe(x,y,variable)
    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:
    Code:
      def ausgabe(x, y, text)
        texts = text.to_s
        @sprite.bitmap.clear
        @sprite.bitmap.draw_text(x, y, 640, 32, texts)
      end
    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.

    Geändert von makenshi (26.06.2007 um 12:33 Uhr)

  2. #2
    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):

    Code:
    class writeText
      def initialize
         @sprite = Sprite.new
         @sprite.bitmap = Bitmap.new(640,480)
         @sprite.bitmap.font.name = "Arial"
         @sprite.bitmap.font.size = 14
         @sprite.bitmap.font.color = Color.new(255, 255, 255)
         @sprite.z = 200
      end
    
      def löschen
        @sprite.bitmap.clear
      end
    
      def ausgabe(x, y, text)
        @sprite.bitmap.draw_text(x, y, 640, 32, text.to_s)
      end
    end
    @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.

  3. #3
    Zitat Zitat
    @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.

  4. #4
    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.

Berechtigungen

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