Seite 3 von 3

Verfasst: 29.06.2005 21:56
von R4z0r1989
kapier ich nicht hilf mir a bissl

Verfasst: 29.06.2005 22:07
von Batze
clipsprite() sägt dir aus nem Sprite nen bestimmten Bereich aus.

Code: Alles auswählen

##########################
#       |        |       #
#       |        |       #
#       |        |       #
#   0   |    1   |   2   #
#       |        |       #
#       |        |       #
##########################
Clipsprite(0, Anim*spritewidth(0)/3, 0, spritewidth(0)/3, spriteheight(#Sprite))
Anim + 1
if Anim => 2 : Anim = 0 : endif

Da ich nicht wusste wie groß deine Bilder sind hab ich das ausgerechnet.

Der Bereich wird dann vom nächsten displaytransparentsprite() genutzt.
Je nach dem Wert von Anim wird also der mit 1, 2 oder 3 gekennzeichnete Bereih angezeigt.
Also muss dein Bild auch so aufgebau sein.

Edit: So ungefähr:

Code: Alles auswählen

InitSprite()                                                
InitKeyboard()                                                                                                            ; ende der abfrage 

OpenScreen(800,600,32,"Vollbild")                          


LoadSprite(0,"bmp\Player 1\player1  v .bmp",0) 
LoadSprite(1,"bmp\Player 1\player1  h .bmp",0) 
LoadSprite(2,"bmp\Player 1\player1  l .bmp",0) 
LoadSprite(3,"bmp\Player 1\player1  r .bmp",0) 
LoadSprite(4,"bmp\Player 1\player1  v g.bmp",0) 
LoadSprite(5,"bmp\Player 1\player1  h g.bmp",0) 
LoadSprite(6,"bmp\Player 1\player1  l g.bmp",0) 
LoadSprite(7,"bmp\Player 1\player1  r g.bmp",0) 




position_x1 = 0 
position_y1 = 0 


for i=0 to 3 ; sieht besser aus :)
TransparentSpriteColor(i, 255, 255, 255)
next

Repeat                                                
  FlipBuffers() 
  ClearScreen(0,255,255)                                  
  ExamineKeyboard()                                  
  
  
  
  
  If KeyboardPushed(#PB_Key_Right)                    
    position_x + 2                                    
    If position_x > 760                              
      position_x = 760                                
    EndIf                                            
  EndIf                                              
  
  If KeyboardPushed(#PB_Key_Left)                    
    position_x  - 2                                  
    If position_x < -5                                
      position_x = -5                                  
    EndIf                                            
  EndIf                                              
  
  If KeyboardPushed(#PB_Key_Up)                      
    position_y  - 2                                
    If position_y < -5                                
      position_y = -5                                  
    EndIf                                            
  EndIf                                            
  
  If KeyboardPushed(#PB_Key_Down)                    
    position_y  + 2                                    
    If position_y > 560                              
      position_y = 560                                
    EndIf                                            
  EndIf                                              
  
  
  
  
  
  
  
  
  If KeyboardPushed(#PB_Key_Down) 
    richtung=0 
  EndIf 
  
  If KeyboardPushed(#PB_Key_Up) 
    richtung=1 
  EndIf 
  
  If KeyboardPushed(#PB_Key_Left) 
    richtung=2 
  EndIf 
  
  If KeyboardPushed(#PB_Key_Right) 
    richtung=3 
  EndIf 
  
  
  
  Select richtung 
    Case 0 
      ClipSprite(0, Anim * spritewidth(0)/3, 0, spritewidth(0)/3, spriteheight(0))
      DisplayTransparentSprite(0,position_x,position_y) 
    Case 1 
     ClipSprite(1, Anim * spritewidth(1)/3, 0, spritewidth(1)/3, spriteheight(1))      
     DisplayTransparentSprite(1,position_x,position_y) 
    Case 2 
     ClipSprite(2, Anim * spritewidth(2)/3, 0, spritewidth(2)/3, spriteheight(2))
      DisplayTransparentSprite(2,position_x,position_y) 
    Case 3 
     ClipSprite(3, Anim * spritewidth(3)/3, 0, spritewidth(3)/3, spriteheight(3)) 
     DisplayTransparentSprite(3,position_x,position_y) 
  EndSelect 
  Anim + 1
  if Anim => 2 : Anim = 0 : endif
    
  If KeyboardPushed(#PB_Key_Escape) 
    End                                              
  EndIf                                              
ForEver
OK?

Verfasst: 30.06.2005 19:26
von R4z0r1989
geht nicht jetzt ist gar nichts mehr da.

Verfasst: 30.06.2005 20:28
von AndyX
Ja du musst die Bilder jetzt auch noch anpassen :roll: