Hilfe, wo ist das Sprite !!!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Ghosty1967
Beiträge: 205
Registriert: 29.08.2005 13:56
Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
Wohnort: Köln

Hilfe, wo ist das Sprite !!!

Beitrag von Ghosty1967 »

Hallo Leute...

habe wieder mal ein Problem. Ich möchte gerne ein Sprite in einem
Fenster darstellen und benutze dazu folgenden Code...

Code: Alles auswählen

If InitSprite()
  If OpenWindow(0,10,10,400,400,#PB_Window_SystemMenu,"Test")
    If OpenWindowedScreen(WindowID(0),10,10,380,380,0,0,0)
      CatchSprite(0,?SPRITE1)
    EndIf
  EndIf
EndIf

Repeat
  EventID=WaitWindowEvent()
  If WindowEvent()=0: Delay(1): EndIf
    ClearScreen(0,0,0) 
    If StartDrawing(ScreenOutput())
      DisplaySprite(0, 50, 50) 
      StopDrawing()
    EndIf 
    FlipBuffers() 
Until EventID=#PB_Event_CloseWindow

DataSection
SPRITE1: IncludeBinary "spritea.bmp"
EndDataSection
Ich bekomme zwar keinerlei Fehlermeldungen vom Debugger, aber ich
bekomme auch das Sprite, welches ich hier "catche" nicht dargestellt !
Wenn ich das ganze auf einen Screen anwende funktionierts.

Was mache ich denn falsch ?! Könnte mir einer den Code ändern und
mir erklären, wo der Wurm sich verkrochen hat ;)

Thx... ghosty[/code]
KTX82
Beiträge: 95
Registriert: 31.08.2004 00:11
Wohnort: Mannheim
Kontaktdaten:

Beitrag von KTX82 »

Das DisplaySprite darf nicht zwischen Start/Stop-Drawing stehen. Dort dürfen nur die Befehle aus der 2Ddrawing Library rein. Alle Sprite Befehle müssen außerhalb stehen. Egal ob oben drüber oder unten drunter oder allein ohne irgendwelche 2Ddrawing :wink:
Das ist jetzt mal so das einzige was mit aufgefallen ist. Probier es mal aus.
Pharmacie populaire www.viagrasansordonnancefr.com aide aux malades
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

nun, vielleicht ist WindowEvent nicht Null, wenn nix passiert...? 9_9"

...aber spar dir ruhig das start/stop-drawing, sprites sind keine draws,
früher hat das noch nicht einmal funktioniert, wundert mich dass es das jetzt tut...
(<- ok, da war KTX schneller)
ich dachte nur, weil du sagtest, aufm screen klappts..
oder hast du da kein Drawing drumrum gehabt?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Ghosty1967
Beiträge: 205
Registriert: 29.08.2005 13:56
Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
Wohnort: Köln

Beitrag von Ghosty1967 »

Also einfach so...

Code: Alles auswählen

If InitSprite() 
  If OpenWindow(0,10,10,400,400,#PB_Window_SystemMenu,"Test") 
    If OpenWindowedScreen(WindowID(0),10,10,380,380,0,0,0) 
      CatchSprite(0,?SPRITE1) 
    EndIf 
  EndIf 
EndIf 

Repeat 
  EventID=WaitWindowEvent() 
  ClearScreen(0,0,0) 
  DisplaySprite(0, 50, 50) 
  FlipBuffers() 
Until EventID=#PB_Event_CloseWindow 

DataSection 
SPRITE1: IncludeBinary "spritea.bmp" 
EndDataSection
..ich probier das mal ![/code]
Antworten