Seite 2 von 2
Verfasst: 16.08.2006 01:03
von Ligatur
HeX0R hat geschrieben:Du erstellst einen 1 Pixel grossen Screen.
Auch mit Autostretch bleibt er dennoch relativ gesehn 1 Pixel gross.
Ich sehe zwar keinen Farbverlauf (wieso auch ?), aber alles ist weiss, was auch logisch ist, weil man quasi nur ein irre aufgeblasenes weisses Sprite sieht.
Code: Alles auswählen
If OpenWindowedScreen(WindowID(0), 0, 0, 1, 1, 1, 0, 0) ; wir benötigen nicht die exakte Bildschirmbreite/-höhe, da diese automatisch angepasst werden...
Aus der Purebasic Hilfe zu OpenWindowedScreen. Das wird also nicht der Fehler sein. Bei mir entsteht kein Farbverlauf.
Verfasst: 16.08.2006 02:04
von Frogger
>>Jetzt habe ich noch einen weissen Balken über dem Schwarzen Hintergrund im Windows. Vielleicht auch noch die Höhe korrigieren?
Der weiße Balken kommt von
Code: Alles auswählen
For i = 0 To #WindowWidth Step 10
DisplaySprite(#box,i,0)
Next
Es wird alle 10 Pixel ein 10 Pixel breites Quadrat gezeichnet.
Ich nehme mal an, dass a14xerus das machen wollte.
Andernfalls kann ich mir nicht erklären wozu die For-Schleife gut sein soll.
Verfasst: 16.08.2006 07:18
von #NULL
<willauchmitmachen>
@a14xerus
autostretch bezieht sich nur auf das darstellen des screens im fenster. beim zeichnen auf den screen, besitzt dieser trotzdem die angegebene groesse (1x1). farbverläufe würde ich nicht mit autostretch realisieren, zumal du den screen dann nicht mehr für andere ("objekt-")sprites nutzten kannst. dann macht autostretch auch nur sinn mit einem resizable window.
Code: Alles auswählen
If InitSprite() = 0
MessageRequester("Error", "Fehlercode 1", #MB_OK|#MB_ICONERROR)
End
EndIf
If InitSound() = 0
MessageRequester("Error", "Fehlercode 2", #MB_OK|#MB_ICONERROR)
End
EndIf
If InitKeyboard() = 0
MessageRequester("Error", "Fehlercode 3", #MB_OK|#MB_ICONERROR)
End
EndIf
If InitMouse() = 0
MessageRequester("Error", "Fehlercode 4", #MB_OK|#MB_ICONERROR)
End
EndIf
Enumeration
#window_1
#box
EndEnumeration
#WindowWidth = 400
#WindowHeight = 300
Global Ball_X.l = 0
Global Ball_Y.l = 0
Procedure Fenster()
If OpenWindow(#window_1,0,0,#WindowWidth,#WindowHeight,"MiniGame by Alexander N",#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget |#PB_Window_SizeGadget )
If CreateGadgetList(WindowID(#window_1))
If OpenWindowedScreen(WindowID(#window_1),0,0,#WindowWidth,#WindowHeight,1,0,0)
CreateSprite(#box,#WindowWidth,#WindowHeight)
StartDrawing(SpriteOutput(#box))
For i=0 To #WindowWidth
LineXY(i,0,i,#WindowHeight, (i*255/#WindowWidth)<<8 )
Next
For i=100 To 0 Step -1
Circle(#WindowWidth/2,#WindowHeight/2, i, (100-i)*255/100 )
Next
;Box(0,0,10,10,RGB(255,255,255))
StopDrawing()
EndIf
EndIf
EndIf
EndProcedure
Procedure ende()
End
EndProcedure
Fenster()
Repeat
Delay(5)
Event = WindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
If Event = #PB_Event_CloseWindow
Select MessageRequester("Ende", "Wollen sie wirklich beenden?", #MB_YESNO|#MB_ICONQUESTION)
Case #IDYES
ende()
EndSelect
EndIf
ExamineKeyboard()
ClearScreen($000)
;For i = 0 To #WindowWidth Step 10
DisplaySprite(#box,0,0) ;wenn ich das hier auskommentier habe ich einen normalen schwarzen hintergund.. wenn nicht kommt bei mir ein farbverlauf.. oder macht das nur meine Grafikkarte?0
;Next
FlipBuffers()
ForEver
Verfasst: 16.08.2006 08:10
von HeX0R
Ligatur hat geschrieben:HeX0R hat geschrieben:Du erstellst einen 1 Pixel grossen Screen.
Auch mit Autostretch bleibt er dennoch relativ gesehn 1 Pixel gross.
Ich sehe zwar keinen Farbverlauf (wieso auch ?), aber alles ist weiss, was auch logisch ist, weil man quasi nur ein irre aufgeblasenes weisses Sprite sieht.
Code: Alles auswählen
If OpenWindowedScreen(WindowID(0), 0, 0, 1, 1, 1, 0, 0) ; wir benötigen nicht die exakte Bildschirmbreite/-höhe, da diese automatisch angepasst werden...
Aus der Purebasic Hilfe zu OpenWindowedScreen. Das wird also nicht der Fehler sein. Bei mir entsteht kein Farbverlauf.
Antwort:
#NULL hat geschrieben:
autostretch bezieht sich nur auf das darstellen des screens im fenster. beim zeichnen auf den screen, besitzt dieser trotzdem die angegebene groesse (1x1)
Jetzt hast du es schon zweimal dastehen, vielleicht kommt es dir jetzt ja näher...
Verfasst: 16.08.2006 15:51
von a14xerus
Ich war seit ich die Frage gestellt hatte nichtmehr on.. Ich bin nicht drauf gekommen, das die relative Größe des Screens nur 1x1 ist.. jetz ist es mir natürlich klar.. danke an alle
ach und $000 steht auch in der hilfe als kurzschreibweise^^
Verfasst: 18.08.2006 12:46
von Kaeru Gaman
Ligatur hat geschrieben:Code: Alles auswählen
If OpenWindowedScreen(WindowID(0), 0, 0, 1, 1, 1, 0, 0) ; wir benötigen nicht die exakte Bildschirmbreite/-höhe, da diese automatisch angepasst werden...
Aus der Purebasic Hilfe zu OpenWindowedScreen. Das wird also nicht der Fehler sein. Bei mir entsteht kein Farbverlauf.
gut, vielleicht ist es nicht sein fehler, aber trotzdem.
ist da die help mal wieder zu speziell?
hab hier kein PB zur Hand.
Ich frag mich halt, was das für ein Beispiel ist, wo ein 1x1 screen gemacht wird.
ich schätze halt, dass da vielleicht doch eins ums andere beispiel doch etwas zu hochtrabend für anfänger ist.
> und $000 steht auch in der hilfe als kurzschreibweise^^
das würde ich auch mal korrigieren.
es ist zwar nicht wirklich falsch in dem sinne dass es keine Null wäre,
aber der Farbwert ist nunmal eine 24bit-zahl, und eine 24bit-Zahl hat 6 stellen als HEX.