samples/09_performance/07_static_sprites_as_classes_with_custom_drawing/app/main.rb
def draw_override ffi_draw
    # first move then draw
    move

    # The argument order for ffi.draw_sprite is:
    # x, y, w, h, path
    ffi_draw.draw_sprite @x, @y, @w, @h, @path

    # The argument order for ffi_draw.draw_sprite_2 is (pass in nil for default value):
    # x, y, w, h, path,
    # angle, alpha

    # The argument order for ffi_draw.draw_sprite_3 is:
    # x, y, w, h,
    # path,
    # angle,
    # alpha, red_saturation, green_saturation, blue_saturation
    # tile_x, tile_y, tile_w, tile_h,
    # flip_horizontally, flip_vertically,
    # angle_anchor_x, angle_anchor_y,
    # source_x, source_y, source_w, source_h

    # The argument order for ffi_draw.draw_sprite_4 is:
    # x, y, w, h,
    # path,
    # angle,
    # alpha, red_saturation, green_saturation, blue_saturation
    # tile_x, tile_y, tile_w, tile_h,
    # flip_horizontally, flip_vertically,
    # angle_anchor_x, angle_anchor_y,
    # source_x, source_y, source_w, source_h,
    # blendmode_enum
  end
# if the object that is in args.outputs.sprites (or static_sprites)
# respond_to? :draw_override, then the method is invoked giving you
# access to the class used to draw to the canvas.
if the object that is in args.outputs.sprites (or static_sprites)
respond_to. :draw_override, then the method is invoked giving you
access to the class used to draw to the canvas.
if the object that is in args . outputs . sprites ( or static_sprites ) respond_to . : draw_override then the method is invoked giving you access to the class used to draw to the canvas .
def draw_override ffi_draw
    move
    ffi_draw.draw_sprite @x, @y, @w, @h, @path
    ,
    ,
  end
def draw_override ffi_draw move ffi_draw . draw_sprite @x , @y , @w , @h , @path end
if the object that is in args.outputs.sprites (or static_sprites)
respond_to?
if the object that is in args . outputs . sprites ( or static_sprites ) respond_to?
# first move then draw # The argument order for ffi.draw_sprite is: # x, y, w, h, path # The argument order for ffi_draw.draw_sprite_2 is (pass in nil for default value): # x, y, w, h, path, # angle, alpha # The argument order for ffi_draw.draw_sprite_3 is: # x, y, w, h, # path, # angle, # alpha, red_saturation, green_saturation, blue_saturation # tile_x, tile_y, tile_w, tile_h, # flip_horizontally, flip_vertically, # angle_anchor_x, angle_anchor_y, # source_x, source_y, source_w, source_h # The argument order for ffi_draw.draw_sprite_4 is: # x, y, w, h, # path, # angle, # alpha, red_saturation, green_saturation, blue_saturation # tile_x, tile_y, tile_w, tile_h, # flip_horizontally, flip_vertically, # angle_anchor_x, angle_anchor_y, # source_x, source_y, source_w, source_h, # blendmode_enum
ffi_draw