unperformant!
du müllst dir deinen arbeitsspeicher voll, weil du die ganzen bitmaps neu erzeugst und nicht löschst.
bei 40 updates in der sekunde kommt ne menge an datenmüll zusammen.
da kommt, je nach menge der animationen die gleichzeitig abgespielt werden, der gc irgendwann nicht mehr mit.
die folge ist, dass dein spiel abstürzt, weil du keine neuen bitmaps mehr erstellen kannst (auch wenn du noch ram frei hast. weiß aber auch nicht wieso das so ist ._.)
wenn du dir im handbuch/hilfe vom xp die rpg::sprite klasse ansiehst, merkst du, dass dort nur mit src_rect gearbeitet wird. genauso ist es auch bei der sprite_character klasse. enterbrain hätte das nicht gemacht, wenn sie nicht wüssten, dass es schneller ist, als ständig neue bitmaps zu erzeugen.
da du in @stand eh schon rects gespeichert hast, kannst du die doch ganz einfach verwenden.
mach im update eher sowas wie:
self.bitmap = @character.model.bitmap
self.src_rect = @character.model.stand[direction]