Afaik musst du erst ein Sprite erstellen und diesem dein Bitmap zuweisen.
(Bin allerdings selbst ziemlich unerfahren in Ruby ^^)
In diesem Rubykurs wird das auch relativ gut erklärt.
Afaik musst du erst ein Sprite erstellen und diesem dein Bitmap zuweisen.
(Bin allerdings selbst ziemlich unerfahren in Ruby ^^)
In diesem Rubykurs wird das auch relativ gut erklärt.
Das kommt vor allem auch drauf an, wo du es anzeigen willst. Es gibt im Prinzip zwei Möglichkeiten:
- du zeigst es, wie Shimassy gesagt hat, als Sprite an
- du kopierst es auf ein anderes Bitmap, welches bereits angezeigt wird
Letzteres ist gegebenfalls effizienter. Wenn du ein Menü mit sehr vielen Icons hast, ist es für die Performance nicht gut wenn du jedes Item als Sprite anzeigst. Du legst stattdessen ein einziges großes Bitmap an und kopierst alle Items in dieses Bitmap (das geht mit dem blt Befehl. grosses_bitmap.blt(x, y, kleines_bitmap, kleines_bitmap.rect).
Dieses große Bitmap kannst du dann anzeigen (entweder als Sprite, oder in einem Menü als Window, in dem du schreibst mein_window.contents = grosses_bitmap).
Das hat jetzt so prima geklappt.
Ich versuche derzeit, eine Variable aus 10 anderen Variablen zusammenzusetzen, in Form von einer Formel. Da ich mit genauen Werten und Nachkommastellen rechnen möchte, was mit Ruby hoffentlich möglich ist, möchte ich wissen, wie ich statt Eventcode diese Berechnung skripten kann.
Du willst 'ne Formel mit Makervariablen machen?
$game_variables[5] # Zugriff auf die Makervariable 0005
$game_variables[29] = 10 # Setzt Makervariable 0029 auf den Wert 10
Damit du mit Kommastellen rechnen kannst, musst du die Variablen in Floats umwandeln. Das geht mit der Methode to_f. Um am Ende wieder eine Ganzzahl zu erhalten, verwendest du die Methode round.
Kann man das in mehrere Calls fassen oder muss ich dazu ein Skript erstellen? Beim Skript, wie könnte ich das definieren, praktisch als Befehl, der ständig aufgerufen wird, wenn ich will? Im Callskript gibt's jedenfalls NameErrors (ich denke mal, da fehlen noch irgendwelche Definitionen).
in mehrere Call-Script verteilt darfst du das nicht schreiben. Entweder in ein Call-Script, oder du schreibst es in den Scripteditor. Letzteres ist vermutlich für längere Scripte die bessere Variante.
Da hast du wiederum zwei Möglichkeiten. Einmal über Module:
Wichtig ist nur das self. vor dem Methodennamen. Nun kannst du im Call-Script mit Skripte.pythagoras dieses Script aufrufen.
Andere Möglichkeit:
Jetzt brauchst du im Call-Script einfach nur pythagoras() hinschreiben, um das Script auszuführen.
NameError heißt btw. das du auf eine lokale Variable, Konstante oder Klassenvariable zugreifst, die noch nicht definiert wurde. Ich nehme mal an du hast eine lokale Variable, z.B. a = $game_variables[13].to_f im ersten call-script definiert und wolltest im zweiten call-script darauf zugreifen. Das funktioniert allerdings nicht.