Graphics-Fenster im Window-Mode bewegen?
Übersicht

ChristianKBetreff: Graphics-Fenster im Window-Mode bewegen? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ist es möglich, das brl.dxgraphics Modul so umzuprogrammieren, dass das Programm auch weiterläuft, wenn das Fenster gerade bewegt wird? | ||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Programm an sich (zumindest unter Windows) läuft schon, falls BMax nicht anhällt. Andere Programme laufen. Nur es werden keine Grafiken neu gezeichnet. Und bei Windows zumindest wirst du da schätze ich nichts machen können, das ist die Win-GUI. Wie das bei Linux/Mac aussieht weiss ich nicht.
MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nee Blitzcoder, bei Windows wird leider das gesamte Programm angehalten...
Ziehmlich dumm bei Server/Client programmen die Pingen müsse ![]() |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Junkie, bei mir ist das nicht so. Wenn ich etwas installiere und es dragge ist es dnach sofort fertig ![]() |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
klepto2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Global Timer:TTimer = CreateTimer(60) Graphics 800,600,0,-1 AddHook EmitEventHook,Draw While Not KeyHit(Key_Escape) Wend Function Draw:Object(id:Int,data:Object,context:Object) Local Event:TEvent = TEvent(Data) If Event.ID = EVENT_TIMERTICK And EVENT.Source = Timer Then Cls DrawText "Dieser Text sollte immer da sein",0,0 DrawText "Timer Ticks : " + Timer.Ticks(),0,20 Flip EndIf End Function das zauberwort heißt in diesem Fall EventHooks. Events sind nicht an MaxGui gebunden sondern können (vorallem Timer Events) auch bei normalen Bmax angewandt werden. |
||
Matrix Screensaver
Console Modul für BlitzMax KLPacker Modul für BlitzMax HomePage : http://www.brsoftware.de.vu |
Ronny |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sollten die Grafikprozeduren aber länger als die 1Sek/60fps brauchen, hat die gesamte Applikation keinerlei Chance die Aufgaben zu bewaeltigen.
Was dann passiert ist: Mauscursor nicht mehr bewegbar, das Taskmenu nicht mehr zu gebrauchen, das Programm haengt foermlich seinen Aufgaben hinterher. Du musst also - soweit wurde das schon im engl. Forum besprochen - mit mehreren Timern arbeiten, was aber ohne weiteres nur unter Windows moeglich ist... unter Linux funktioniert das "Draw while dragging" schon von allein, ist also eh nur das Windows was da so unpassend reagiert. Was wichtig ist, dass bei der Standardmethode, sprich nicht neuzeichnen waehrend dragging, nur Updatefunktionen bearbeitet werden und keine Zeichenkommandos. Wenn Du also in deinem "Spaceship"-Typ-Drawkommando noch ein x:+ dx machst, dann wird bei Loslassen der Maustaste das Schiff einen gewaltigen Sprung machen, der eventuellen "Update"-Prozeduren nicht vorgefuehrt wird. Strikte Trennung von Logik und Zeichnen ist also notwendig. Bevor Du also obige Methode implementierst, schaue Dir Deinen Code auf einem PC mit langsamer, sprich uralter Grafikkarte an... das spart Dir dann einiges an Nerven. bye Ron |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, das hab' ich gesucht! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group