Ich glaube du verwechselst etwas.
Als "Float" bezeichnet man eine Kommazahl. Das ist eine Abkürzung für "Floating Point Number", also den englischen Begriff für Fließkommazahl. (Nur am Rande: das gegenstück dazu ist eine Fixkommazahl)
Wahrscheinlich willst du Events in eine Liste packen nehme ich an.
Eine Liste wird in Ruby folgendermaßen definiert:
wobei "someList" der Name der Liste ist und a, b und c irgendwelche Objekte wären.Code:$someList = [a, b, c]
Das Dollarzeichen ($) gibt an, dass die Liste global sichtbar ist, also überall benutzt werden kann. Kein guter Programmierstil, aber für einen Anfänger am einfachsten.
Wenn du zum Beispiel alle Objekte, welche im Namen den Teilstring "[Bullet]" enthalten in eine Liste ablegen willst kannst du folgendes tun:
Das könntest du, zum Beispiel, in ein Auto-Start Event stecken.Code:$someList = []
for event in $game_map.events
if event[1].getName.include?("[Bullet]")
$someList.push(event[1])
end
end
Mit diesem Script kannst du dann die Liste ausgeben lassen:
In Ruby bedeutet dies, dass die Klasse Game_Event von der Klasse Game_Character erbt.Code:for event in $someList
p(event.getName)
end
Polymorphismus nennt man das Konzept dahinter und es ist ein wichtiger Grundbaustein der Programmierung, allerdings nicht trivial zu verstehen für einen Anfänger.
Du wirst das nicht brauchen denke ich, aber falls du es dennoch lernen willst dann suche im Internet nach "Vererbung" oder "Polymorphie" im Zusammenhang mit Programmierung.
Das Entfernungsscript verwendet keine Entfernung, völlig richtig. Die Entfernung habe ich im Event verwendet, und zwar wie folgt:
damit wird überprüft ob die Entfernung zwischen Event und Spieler kleiner ist als 64 Pixel.Code:getDist
@size = 64
if dist < @size
Du kannst hier jeden beliebigen Wert verwenden, und zwar für jedes Event etwas anderes.
Alternativ kannst du auch eine Methode definieren um die Größe direkt zu vergleichen:
Dann kannst du im Event, innerhalb des Conditiona-Branch, einfachCode:def isWithinRange(size)
getDist
return dist < size
end
schreiben wenn du willst, dass eine Entfernung von mindestens 64 Pixeln überprüft werden soll.Code:isWithinRange(64)