kleines window?

Anfängerfragen zum Programmieren mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Groudon hat geschrieben:Ich hab jetzt ein Window aber kann man darin auch sprites rein tun und so ????
:roll:
lies doch erst mal die antworten, dann lies die Help.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

So ich werde jetzt mal mein Uralt PB auskramen da du ja sonst sowieso nicht weiterkommst. :D :lol:
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Sprite example file
;
;    (c) 2001 - Fantaisie Software
;
; ------------------------------------------------------------
;

If InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "Can't open DirectX 7 Or later", 0)
  End
EndIf

;
; Now, open a 640*480 - 16 bits (65000 colours) screen
;
If OpenWindow(0,100,100,400,500, #PB_Window_MinimizeGadget ,"kkskk")
EndIf 

If OpenWindowedScreen(WindowID(0),0,0,400,500,1,0,0)

  ; Load our 16 bit sprite (which is a 24 bit picture in fact, as BMP doesn't support 16 bit format)
  ; 
  LoadSprite(0, "Data\PureBasic.bmp", 0)
  CopySprite(0,1,0)
  
  ; Draw some red line on our sprite
  ;
  If StartDrawing(SpriteOutput(1))
    FrontColor(255, 0, 0)
    For k = 0 To SpriteHeight(1) Step 2
      Line(0, k, SpriteWidth(1), 0)
    Next
    StopDrawing()
  EndIf

  Repeat
    
    ; Inverse the buffers (the back become the front (visible)... And we can do the rendering on the back)
    
    FlipBuffers()
    
    ClearScreen(0,0,0)
    
    ; Draw our sprite

    ClipSprite(0, 0, 0, x, x/8)
     
    DisplaySprite(0, x, 100)
    DisplaySprite(1, x, x)
    DisplaySprite(0, 600-x, x)
    x+1
    
    ExamineKeyboard()
  Until x > 1500 Or KeyboardPushed(#PB_Key_Escape)
  
Else
  MessageRequester("Error", "Can't open a 640*480 - 16 bit screen !", 0)
EndIf

End   
So habe mal ebend das Sprite beispiel ein wenig manipuliert damit du annährend siehst was gemeint ist.

Kopieren und unter Purebasic\Examples\Sources abspeichern .
Ich habe ihr den Namen :Sprite_windowed.pb gegeben.

Ich hoffe du bekommst das hin. :lol:
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Beitrag von Groudon »

ich habs benutzt (DANKE) aber wen ich benutze kommt da immer das er am laden ist und die maus wird zu ner sanduhr und ich kann sie nicht mehr bewegen
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Hopeless.
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

na, wenn du jetzt schon angefangen hast....

zum befehl OpenWindowedScreen müßte dochn beispiel dabei sein - gibs doch nich, dass da keins is...
oder war das irgendwo bei den events...

auf jeden fall hast du ihm nicht wirklich geholfen.
er kommt mit dem code auch nicht klar, und in der Help hat er bestimmt immer noch nicht gelesen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

@Groudon: klingt als hättest du keine Eventverarbeitung.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Ja sorry aber ich habe schon lange nix mehr mit PB 3.30 am hut und mit Sprite und Screen arbeite ich eigentlich nicht er sollte mal "Stargate" fragen.
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Code: Alles auswählen

If InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "Can't open DirectX 7 Or later", 0)
  End
EndIf

If OpenWindow(0,100,100,400,500, #PB_Window_MinimizeGadget ,"kkskk")
EndIf 

If OpenWindowedScreen(WindowID(0),0,0,400,500,1,0,0)

  LoadSprite(0, "Data\PureBasic.bmp", 0)
  CopySprite(0,1,0)
  If StartDrawing(SpriteOutput(1))
    FrontColor(255, 0, 0)
    For k = 0 To SpriteHeight(1) Step 2
      Line(0, k, SpriteWidth(1), 0)
    Next
    StopDrawing()
  EndIf

  Repeat
    
    Event = WindowEvent()
     
    FlipBuffers()
    
    ClearScreen(0,0,0)
    
    ClipSprite(0, 0, 0, x, x/8)
     
    DisplaySprite(0, x, 100)
    DisplaySprite(1, x, x)
    DisplaySprite(0, 600-x, x)
    x+1
    
    ExamineKeyboard()
  
  Until x > 1500 Or KeyboardPushed(#PB_Key_Escape)
  
Else
  MessageRequester("Error", "Can't open a 640*480 - 16 bit screen !", 0)
EndIf

End   
einfach ein WindowEvent() rein

Du könntest noch ebfragen ob das Fenster geschlossen wird.

Code: Alles auswählen

 Event = WindowEvent()
 Select Event
  Case #PB_EventCloseWindow
   End
 EndSelect
Aber brauchst du eigentlich nicht, da ja ESC das prog beendet
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

PBprogger hat geschrieben:Du meinst wohl einen WidowedScreen?
Hehe... jaja, wenn er sich dann nicht allzu alleine fühlt :mrgreen:
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Antworten