You can make a windowed game, that will run at any resolution... (yet still retain to a speciffic game resolution)
Global GfxWidth =ClientWidth(Desktop())
Global GfxHeight=ClientHeight(Desktop())
Const ResWidth# =640
Const ResHeight#=480
Win =CreateWindow("Test",0,0,GfxWidth,GfxHeight,0,0)
Buffer=CreateCanvas(0,0,ResWidth#,ResHeight#,Win)
BackgroundBuffer=CreateCanvas(0,0,GfxWidth,GfxHeight,Win)
SetBuffer CanvasBuffer(Buffer)
TextString$="This is a test"
SetFont(LoadFont("Arial",58,True,False,False))
Color 255,255,255
Text (ResWidth#/2)-(StringWidth(TextString$)/2),(ResHeight#/2)-(StringHeight(TextString$)/2),TextString$
For i=1 To 30
Color Rand(0,255),Rand(0,255),Rand(0,255)
Size=Rand(0,250)
Oval Rand(0,ResWidth),Rand(0,ResHeight),Size,Size,0
Next
SizeVertStep#=Float#(GfxHeight)/Float#(GfxWidth)
SizeVert#=0
For SizeHorz#=0 To GfxWidth Step 1
SetBuffer CanvasBuffer(Buffer)
SetGadgetShape(Buffer,(GfxWidth/2)-(SizeHorz#/2),(GfxHeight/2)-(SizeVert#/2),SizeHorz#,SizeVert#)
SizeVert#=SizeVert#+SizeVertStep#
FlipCanvas(Buffer)
MoveMouse gfxwidth+200,gfxheight+200
Delay 1
Next
SetGadgetShape(Buffer,0,0,GfxWidth,GfxHeight)
Repeat
Select WaitEvent()
Case $803 : End
Case $202
Color 255,0,0
Rect 0,0,640,480,0
FlipCanvas(Buffer)
Case $203
SetBuffer CanvasBuffer(Buffer)
Cls
TextString$="MouseX="+MouseX()+" MouseY="+MouseY()
SetFont(LoadFont("Arial",58,True,False,False))
Color 255,255,255
Text (ResWidth#/2)-(StringWidth(TextString$)/2),(ResHeight#/2)-(StringHeight(TextString$)/2),TextString$
For i=1 To 5
Color Rand(0,255),Rand(0,255),Rand(0,255)
Size=Rand(0,250)
Oval Rand(0,ResWidth),Rand(0,ResHeight),Size,Size,0
Next
Color 255,255,255
Rect 0,0,reswidth#,resheight#,0
FlipCanvas(Buffer)
SetGadgetShape(Buffer,0,0,MouseX(),MouseY())
End Select
Forever
|