Canvas und MaxGUI [ERLEDIGT]

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Phlox

Betreff: Canvas und MaxGUI [ERLEDIGT]

BeitragSo, Okt 31, 2010 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Ich schreibe derzeit ein Robot Karol Clon (vllt kennen das einige). Dazu habe ich eine 3D- und eine 2D-Ansicht. Beide haben ein eigenes Canvas, zwischen denen hin- und hergeschaltet werden kann.

Hier zum Verständnis 2 Bilder:
http://www.fanofblitzbasic.de/.../bild1.png (3D)
http://www.fanofblitzbasic.de/.../bild2.png (2D)
(Ja, beide Ansichten haben ein eigenes Canvas...)

Das klappt auch erstmal ganz gut. Wenn ich aber jetzt das Fenster Maximiere oder an den Splittern das Canvas extrem vergrößere, (wenn man nur ein bisschen zieht, passt alles noch) gibt es sowohl unter Mac OS X als auch unter Windows denselben Grafikfehler:

http://www.fanofblitzbasic.de/.../bild3.png

Das ist natürlich unschön. Hier ein Teil des Codes:


Hauptschleife:
BlitzMax:
If drawmode=1 Then
RedrawGadget worldcan '3D-Canvas
Else
RedrawGadget worldcan2 '2D-Canvas
EndIf

und

BlitzMax:
Case EVENT_GADGETPAINT
Select EventSource()
Case worldcan2
UPW2() 'Update 2D-View
Case worldcan
UPW1() 'Update 3D-View
EndSelect

und UPW2() fängt so an:

BlitzMax:
SetGraphics CanvasGraphics(worldcan2)
SetScale 1,1
SetBlend SOLIDBLEND
SetClsColor 0,0,0
Cls
SetColor 0,0,0
DrawRect 0,0,ClientWidth(worldcan2),ClientHeight(worldcan2)


Wenn man sich den Anfang von UPW2() ansieht, sieht man sofort, dass alles schwarz werden MUSS, aber wenn man den Grafikfehler sieht, kann das ja eigentlich nicht sein.

Was habe ich vergessen???
Ich hoffe ihr könnt mir helfen...


TIA Cuervo


EDIT:
Ich hab's jetzt.. die einzige Möglichkeit ist es, immer wenn das Canvas verändert wird, es neu zu erstellen...-.-

d-bug

BeitragSo, Okt 31, 2010 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Bevor du das erste mal SetGraphics auf den Canvas benutzt (ich gehe davon aus das es OpenGL ist) musst du noch folgendes aktivieren:

BlitzMax:
GLShareContexts()



Edit: Oops, hab das [Erledigt] überlesen :O

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group