Surfacey!
GML (Create)
lcdScreen = surface_create( 100, 100 );
lcdScreenWrapX = 10;
lcdScreenWrapY = 10;
lcdTextWrap = 0;
surface_set_target( lcdScreen );
draw_clear( $4080FF );
surface_reset_target();
GML (Step)
var _x, _y;
surface_set_target( lcdScreen );
draw_clear( $4080FF );
_x = (mouse_x-x) - lcdScreenWrapX;
_y = (mouse_y-y) - lcdScreenWrapY;
// Taka sobie strzałeczka
draw_arrow( _x+10, _y+14, _x, _y, 10 );
// Tekst na LCD
draw_set_font( fLCD ); // Jakiś font przypominający LCD - Monospace!
draw_text_color( floor(lcdTextWrap/10)*10, 50, "Simple test", c_green, c_green, c_green, c_green, 1 );
surface_reset_target();
lcdTextWrap -= 0.5;
if( lcdTextWrap < -110 )
lcdTextWrap = 110;
GML (Draw)
draw_surface( lcdScreen, x+lcdScreenWrapX, y+lcdScreenWrapY );
draw_sprite( sprite_index, 0, x, y );
Co do pozostałych pytań, wystarczą przemiany dot. rysowania na surface (lcdScreen)