StartScreen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

StartScreen

Beitrag von Alves »

Also ich hab hier einen Code, bei dem wird das Startbild, das auf den Startscreen soll (screen.bmp), erst angezeigt, wenn ich Enter drücke, und dann nur ganz kurz.

Code: Alles auswählen

;   IVLILLA RAPTA
;        

InitSprite()
InitKeyboard()

;----------Prozeduren:-------------------
Procedure Jump()
  Mann_y - 10
EndProcedure  

Procedure Jump1()
 Mann_y + 10
EndProcedure

Procedure screen()
  Repeat
    ExamineKeyboard()
    ClearScreen(0,0,0)
    FlipBuffers()
    DisplaySprite(5,0,0)
    If KeyboardPushed(#PB_Key_Escape)                           
      End                                                       
    EndIf
  Until KeyboardPushed(#PB_Key_Return)
EndProcedure   
 
;{\ Hier kommen die ganzen xes und ys rein:
Mann_x=0
Mann_y=0



wandy=541
wandx=0
wandx1=44
wandx2=88
wandx3=132
wandx4=176
wandx5=220


;}\

OpenScreen(800, 600, 32, "IVLILLA RAPTA")


; -----------Hier kommen noch die Sprites und Sounds rein.----------
LoadSprite(0, "is2.bmp",0)
LoadSprite(1, "tunika1.bmp",0)
LoadSprite(2, "romman.bmp",0)
LoadSprite(3, "wand.bmp",0)
LoadSprite(4, "boden3.bmp",0)
LoadSprite(5, "screen.bmp",0)



;---- Spiel geht los
screen()
Repeat
ExamineKeyboard()
FlipBuffers()
ClearScreen(0,0,0)
StopDrawing()  


;{\ Keyboard Abfrage
  If KeyboardPushed(#PB_Key_Right)                   
    Mann_x + 5                     
    If Mann_x > 710                             
      Mann_x = 710                               
    EndIf                                            
  EndIf                                              

  If KeyboardPushed(#PB_Key_Left)                    
    Mann_x - 5                                    
    If Mann_x < 0                               
      Mann_x = 0                                
    EndIf                                          
  EndIf                                            

  If KeyboardPushed(#PB_Key_Up)                      
    Mann_y  - 5                      
    If Mann_y < 0                                
      Mann_y = 0                                 
    EndIf                                            
  EndIf                                             

  If KeyboardPushed(#PB_Key_Down)                    
    Mann_y + 5                                   
    If Mann_y > 415                           
      Mann_y = 415                             
    EndIf                                            
  EndIf                 
  
  If KeyboardPushed(#PB_Key_Space)
    Jump()
    Jump1()
    If Mann_y < 0
      Mann_y = 0 
    EndIf          
  EndIf       
 
 
 
 
 ;}\             


;{\ display sprites
DisplaySprite(0,0,0)
DisplaySprite(4,0,560)


DisplayTransparentSprite(1,Mann_x,Mann_y)


;}\


If KeyboardPushed(#PB_Key_Escape)                           
  End                                                       
EndIf                                                      
ForEver  
;}\

Zuletzt geändert von Alves am 08.03.2009 01:08, insgesamt 1-mal geändert.
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

Versuchs mal so...
(FlipBuffers() ist immer der letzte aller Grafikbefehle)

Code: Alles auswählen

Procedure screen()
  Repeat
    ExamineKeyboard()
    ClearScreen(0,0,0)
    DisplaySprite(5,0,0)
    FlipBuffers()            ;Dies hier war falsch positioniert
      
   If KeyboardPushed(#PB_Key_Escape)                           
      End                                                       
    EndIf
  Until KeyboardPushed(#PB_Key_Return)
EndProcedure    
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Danke!
Antworten