einfachen Funktionen für Sprites und Fonts.
Version: Test (pre alpha)
Plattform: Windows
Wenn jemand helfen will oder Fragen hat einfach posten
Download:
https://www.dropbox.com/s/dfgfkb3ikw4n4 ... a.zip?dl=0
Sonstiges:
Die DLLs sind gepackt !
Es kann zu Fehlarlarm bei AV - Software kommen !
mogl unterstützt momentan nur *.BMP & *.PNG Sprites !
Beispiel:
Code: Alles auswählen
Interface MOGL_FONT
FontName.s()
FontSize.i()
SetColor.i(Color.l)
GetColor.l()
Render.i(X.f,Y.f,Text.s)
Release.i();can be released manuall otherwise moglClose() will clean up all remaining sprites
EndInterface
Interface MOGL_SPRITE
Width.f()
Height.f()
CenterWidth.f()
CenterHeight.f()
Render.i(X.f,Y.f,Center.b = #False,Alpha.a = #Null,Angle.f= #Null,Tint.l = #Null)
Release.i();can be released manuall otherwise moglClose() will clean up all remaining sprites
EndInterface
Import "mogl64.lib"
moglSprite.i(*Buffer,File.s = #Null$);returns MOGL_SPRITE
moglFont.i(FontName.s,FontSize.i,Color.l = $FFFFFFFF);returns MOGL_FONT
moglScreen.i(Width.i,Height.i,Title.s = #Null$,RefreshRate.f = 16);refreshrate in milliseconds (internal render clock) !
moglWidth.f();screen width
moglHeight.f()
moglCenterX();screen width / 2
moglCenterY()
moglMessage.i(*Msg = #Null);*Msg fills a MSG structure -> #WM_* -> for keyboard and mouse support !
moglClear.i(Color.l)
moglRender.i()
moglFlip.i()
moglFrames.i();returns fps
moglDelta.f();returns the deltatime
moglExit.i()
moglClose.i();cleans up everything !
moglVersion.i()
EndImport
Global *Debug.MOGL_FONT
Global *Sprite.MOGL_SPRITE
Global FPS.i
Global DeltaTime.f
Global Tick.f
Global Scale.f
If moglScreen(400,400)
*Debug = moglFont("Arial",20)
*Sprite = moglSprite(?bunny)
If *Debug And *Sprite
moglClear($ED1A1A1A)
Repeat
Repeat:Until moglMessage() = #Null
FPS = moglFrames()
DeltaTime = moglDelta()
If moglRender()
If Tick > 360:Tick = DeltaTime:Else:Tick + 2 * DeltaTime:EndIf;calculate angle tick -> rotation
Scale = Tick / 100;calculate scale -> tick to scale
glTranslatef_(200,200,0) ;translate to the screen center & apply scale
glScalef_(Scale,Scale,0)
*Sprite\Render(0,0,#True,0,Tick);render bunny sprites
*Sprite\Render(0,0,#True,180,-Tick,#Red)
glLoadIdentity_();reset matrix
*Debug\Render(10,10,"FPS: " + Str(FPS)) ;render debug text
moglFlip();flip buffers
EndIf
Until moglExit()
EndIf
moglClose()
EndIf
DataSection
bunny:
;{ File: bunny.png - Size: 301 Bytes
!dw 05089h, 0474Eh, 00A0Dh, 00A1Ah, 00000h, 00D00h, 04849h, 05244h, 00000h, 02000h, 00000h, 02000h, 00208h, 00000h, 0FC00h, 0ED18h, 000A3h, 00000h, 07406h, 04E52h, 00053h, 000FFh, 000AEh, 095C9h, 0CA9Ch, 00063h, 00000h, 07009h, 05948h, 00073h, 00E00h, 000C4h, 00E00h, 001C4h, 02B95h, 01B0Eh, 00000h, 0CD00h, 04449h, 05441h
!dw 0C748h, 056BDh, 0165Bh, 02085h, 04408h, 06B8Eh, 01F72h, 0346Eh, 071D7h, 094DDh, 054FDh, 06EA7h, 084A2h, 07C8Eh, 064F5h, 00660h, 05701h, 01FB6h, 08D21h, 06C09h, 0E87Eh, 018EFh, 08B8Eh, 0C194h, 05C19h, 09348h, 0EE01h, 00B81h, 0DE18h, 05D18h, 09395h, 0DE18h, 0D9CFh, 07B98h, 0C70Ch, 0992Bh, 0057Dh, 0CC80h, 003ECh, 049A6h
!dw 0CF14h, 0F857h, 0EB79h, 03507h, 09AECh, 09CB3h, 00D64h, 019D8h, 01B1Ch, 0B3ABh, 0EDA7h, 00D0Ch, 03074h, 048DEh, 0E5C5h, 0E53Ah, 06336h, 029DCh, 076F3h, 02A81h, 0AB82h, 06C89h, 0982Dh, 0A26Ah, 0F40Ch, 0444Eh, 03031h, 0FBD0h, 0819Ah, 012B3h, 0C000h, 0A50Fh, 051ECh, 0CFAEh, 0E2B3h, 0294Ah, 03D73h, 034C2h, 0DA10h, 04306h
!dw 0AFBDh, 022A9h, 0E375h, 0856Dh, 0972Ch, 0ABC9h, 07D17h, 02619h, 01FFFh, 044ABh, 024D6h, 058A4h, 014E8h, 05323h, 03879h, 0D686h, 0EC16h, 02BF2h, 06EEDh, 06D1Fh, 09507h, 04B19h, 0D543h, 0D93Ch, 0001Ah, 00000h, 04900h, 04E45h, 0AE44h, 06042h, 00082h
;}
EndDataSection