Differenze tra le versioni di "Gestione del tempo mediante le funzioni esterne del API di Libcsfml"
Da Gambas-it.org - Wikipedia.
(4 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | La libreria '''SFML''' (''Simple and Fast Multimedia Library'') fornisce una semplice interfaccia multipiattaforma per facilitare lo sviluppo di giochi e applicazioni multimediali in genere. Essa si compone di cinque moduli: sistema, finestre, grafica, audio e di rete. Qui tratteremo ovviamente del modulo attinente al sistema, ed in particolare delle funzioni descritte nel file header | + | La libreria '''SFML''' (''Simple and Fast Multimedia Library'') fornisce una semplice interfaccia multipiattaforma per facilitare lo sviluppo di giochi e applicazioni multimediali in genere. Essa si compone di cinque moduli: sistema, finestre, grafica, audio e di rete. Qui tratteremo ovviamente del modulo attinente al sistema, ed in particolare delle funzioni descritte nel file header ''Clock.h'' |
− | |||
− | |||
− | |||
+ | Per poter fruire delle risorse e delle funzioni esterne della libreria ''libcsfml'', bisognerà richiamare nell'applicativo Gambas la libreria: "''libcsfml-system.so.1.6'' ". | ||
Nell'esempio che segue mostreremo un possibile codice per realizzare un semplice cronografo: | Nell'esempio che segue mostreremo un possibile codice per realizzare un semplice cronografo: | ||
Private tempus As Pointer | Private tempus As Pointer | ||
− | Private v As Boolean | + | Private v As Boolean |
Riga 18: | Riga 16: | ||
<FONT color=gray>' ''float sfClock_GetTime(sfClock* Clock)'' | <FONT color=gray>' ''float sfClock_GetTime(sfClock* Clock)'' | ||
' ''Get the time elapsed for a clock.''</font> | ' ''Get the time elapsed for a clock.''</font> | ||
− | Private Extern | + | Private Extern sfClock_GetTime(clock As Pointer) as Single |
<FONT color=gray>' ''void sfClock_Reset(sfClock* Clock)'' | <FONT color=gray>' ''void sfClock_Reset(sfClock* Clock)'' | ||
Riga 29: | Riga 27: | ||
− | + | Public Sub ToggleButton1_Click() | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
If ToggleButton1.Value Then | If ToggleButton1.Value Then | ||
+ | tempus = sfClock_Create() | ||
+ | v = True | ||
While v | While v | ||
Label1.Text = Format(Date(0, 0, 0, 0, 0, 0, Fix(sfClock_GetTime(tempus) * 1000)), "nn:ss.uu") | Label1.Text = Format(Date(0, 0, 0, 0, 0, 0, Fix(sfClock_GetTime(tempus) * 1000)), "nn:ss.uu") | ||
Wait 0.001 | Wait 0.001 | ||
− | + | Wend | |
− | + | Label1.Text = Null | |
− | + | Else | |
− | + | v = False | |
− | + | sfClock_Destroy(tempus) | |
− | + | Endif | |
− | + | End | |
=Riferimenti= | =Riferimenti= | ||
− | [1] | + | [1] http://www.sfml-dev.org/index.php |
− | |||
− | |||
− | |||
− | |||
− | + | [2] http://sourcecodebrowser.com/libcsfml/1.6/index.html |
Versione attuale delle 08:36, 1 lug 2024
La libreria SFML (Simple and Fast Multimedia Library) fornisce una semplice interfaccia multipiattaforma per facilitare lo sviluppo di giochi e applicazioni multimediali in genere. Essa si compone di cinque moduli: sistema, finestre, grafica, audio e di rete. Qui tratteremo ovviamente del modulo attinente al sistema, ed in particolare delle funzioni descritte nel file header Clock.h
Per poter fruire delle risorse e delle funzioni esterne della libreria libcsfml, bisognerà richiamare nell'applicativo Gambas la libreria: "libcsfml-system.so.1.6 ".
Nell'esempio che segue mostreremo un possibile codice per realizzare un semplice cronografo:
Private tempus As Pointer Private v As Boolean Library "libcsfml-system:1.6" ' sfClock* sfClock_Create() ' Create a new clock and start it. Return A new sfClock object. Private Extern sfClock_Create() as Pointer ' float sfClock_GetTime(sfClock* Clock) ' Get the time elapsed for a clock. Private Extern sfClock_GetTime(clock As Pointer) as Single ' void sfClock_Reset(sfClock* Clock) ' Restart a clock. Private Extern sfClock_Reset(clock As Pointer) ' void sfClock_Destroy(sfClock* Clock) ' Destroy an existing clock. Private Extern sfClock_Destroy(clock As Pointer) Public Sub ToggleButton1_Click() If ToggleButton1.Value Then tempus = sfClock_Create() v = True While v Label1.Text = Format(Date(0, 0, 0, 0, 0, 0, Fix(sfClock_GetTime(tempus) * 1000)), "nn:ss.uu") Wait 0.001 Wend Label1.Text = Null Else v = False sfClock_Destroy(tempus) Endif End