Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
MarkusOhm
Beiträge: 46 Registriert: 16.08.2009 15:06
Computerausstattung: Asus EeePc 904HD 900MHz Intel-Graphik-Chip-915GM WindowsXP + UbuntuLucid
Beitrag
von MarkusOhm » 01.09.2009 21:34
Was haltet Ihr von den Code Beispiel beiliegend:
Wichtig: Betriebssystem Ubuntu PureBasic 4.31++
Code: Alles auswählen
;---InitMouse()--
Macro Init_SDL_Maus()
SDL_Init_(#SDL_INIT_VIDEO)
EndMacro
;----ExamineMouse()---
Macro Examine_Sdl_Maus()
SDL_PollEvent_(@Event.SDL_Event)
EndMacro
;----MouseX()--
Macro MausdlX()
Event\motion\x
EndMacro
;---MouseY()--
Macro MausdlY()
Event\motion\y
EndMacro
;---Flag-MausButton()
#MausBLeft=#SDL_BUTTON_LEFT
#MausBRight=#SDL_BUTTON_RIGHT
#MausBMiddle=#SDL_BUTTON_MIDDLE
;---MouseButton()---
procedure MausButton(Flag)
Shared Event.SDL_Event
If Flag=Event\button\button
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
;-----Test-----
If InitSprite()=0 Or init_sdl_Maus()<0
End
EndIf
If OpenScreen(640,480,32,"Test der Macros")<>0
;---Creiere-Maus-Sprite-
CreateSprite(0,32,32)
StartDrawing(SpriteOutput(0))
Box(0,0,32,32,$00ff00)
LineXY(0,0,32,32,$ff00ff)
StopDrawing()
;----Starte Schleife-
Repeat
FlipBuffers()
ClearScreen($0000ff)
Examine_Sdl_Maus()
DisplaySprite(0,MausdlX(),MausdlY())
Ret=0
Ret=MausButton(#MausBLeft)
Ret=Ret+MausButton(#MausBMiddle)
Ret=Ret+MausButton(#MausBRight)
If Ret>0
ende=1
EndIf
Delay(2)
Until Ende=1
CloseScreen()
EndIf
End
Achtung der Code ist angepasst(an der Kritik)
Zuletzt geändert von
MarkusOhm am 31.10.2009 22:05, insgesamt 4-mal geändert.
NicTheQuick
Ein Admin
Beiträge: 8812 Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200 Ubuntu 24.04.2 LTS GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Beitrag
von NicTheQuick » 01.09.2009 22:05
Es funktioniert zwar, allerdings ist es sehr langsam. Also die Mausbewegung kommt immer
hinterher.
Außerdem ist meine Auflösung nach Beenden des Programms bei 640x480 geblieben. Das
war sehr unübersichtlich wenn man 1680x1050 gewohnt ist.
///Edit:
Hab grad festgestellt, dass ein 'CloseScreen()' Abhilfe verschafft um die ursprüngliche
Auflösung wieder herzustellen.
Und wenn man das 'Delay(20)' entfernt, dann geht das ganze auch flüssig. Wieso hast du
das überhaupt eingebaut?
Zuletzt geändert von
NicTheQuick am 01.09.2009 22:07, insgesamt 1-mal geändert.
Kiffi
Beiträge: 10714 Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
Beitrag
von Kiffi » 01.09.2009 22:07
seltsame Umfrage. Ich habe mit 'Nein' gestimmt, weil ich unter Windows
programmiere.
Grüße ... Kiffi
a²+b²=mc²
Tur0k
Beiträge: 187 Registriert: 16.02.2009 21:41
Computerausstattung: 4.00 GB RAM, 2x 2.20Ghz, 340GB+500GB
Beitrag
von Tur0k » 01.09.2009 22:11
Kiffi hat geschrieben: seltsame Umfrage. Ich habe mit 'Nein' gestimmt, weil ich unter Windows
programmiere.
Grüße ... Kiffi
*Hust*...
Titel hat geschrieben: Für Ubuntu User
buuh*
Kiffi
Beiträge: 10714 Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
Beitrag
von Kiffi » 01.09.2009 22:13
@ Tur0k:
Umfrage hat geschrieben: Hilft dieses Programm
Tur0k hat geschrieben: *Hust*...
Hustenbonbon?
Grüße ... Kiffi
a²+b²=mc²
MarkusOhm
Beiträge: 46 Registriert: 16.08.2009 15:06
Computerausstattung: Asus EeePc 904HD 900MHz Intel-Graphik-Chip-915GM WindowsXP + UbuntuLucid
Beitrag
von MarkusOhm » 01.09.2009 22:24
Delay() hatte ich eingebaut weil ich Pure auf ein Netbook progge
Mir ging es hauptsächlich um die Macros und Procedure die Repeat-Until-Schleife hatte ich nur zur Anschauung eingebaut
Zuletzt geändert von
MarkusOhm am 01.09.2009 22:35, insgesamt 1-mal geändert.
ts-soft
Beiträge: 22292 Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43 CPU: AMD FX-6300 Six-Core Processor GraKa: GeForce GTX 750 Ti, 2 GB Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin
Beitrag
von ts-soft » 01.09.2009 22:34
Eine Umfrage unter Tips und Tricks ist schon etwas deplaziert
Ich wäre dafür das ganze nach Linux zu verschieben, der Code ohne
Umfrage kann ja dann wieder hier gepostet werden, mit eindeutiger Aussage
für welches OS natürlich
MarkusOhm
Beiträge: 46 Registriert: 16.08.2009 15:06
Computerausstattung: Asus EeePc 904HD 900MHz Intel-Graphik-Chip-915GM WindowsXP + UbuntuLucid
Beitrag
von MarkusOhm » 01.09.2009 22:38
Jetzt denke ich auch ,dass die Linux-Ecke besser für den Code gedacht ist.
Ich tendierte aber eher in die Code,Tipps und Tricks-Ecke
NicTheQuick
Ein Admin
Beiträge: 8812 Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200 Ubuntu 24.04.2 LTS GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Beitrag
von NicTheQuick » 01.09.2009 23:01
Wieso hast du den Code jetzt zweimal gepostet?
Im Übrigen würde ich den Code auch lieber in diesem Forum belassen. Ich schreiben mal
novh 'Linux' in den Threadtitel.
ts-soft
Beiträge: 22292 Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43 CPU: AMD FX-6300 Six-Core Processor GraKa: GeForce GTX 750 Ti, 2 GB Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin
Beitrag
von ts-soft » 01.09.2009 23:04
> Im Übrigen würde ich den Code auch lieber in diesem Forum belassen
Kannste machen, aber verschieb die Umfrage, umfragen gehören hier eher
nicht hin.