Seite 3 von 7

Verfasst: 18.01.2006 21:54
von Janiboy
Ok, absolut meine letzte frage für heute: wo genau einfügen, habs jetzt hier:

Code: Alles auswählen

Repeat                                                
  If IsScreenActive()                                    
    ClearScreen(0,0,0)                                
    DisplayTransparentSprite(AniFrame, position_x, position_y) 
    FlipBuffers() 
    
    ExamineKeyboard()                                  
    
    If delay<60
    EndIf 
    
    If KeyboardPushed(#PB_Key_Right) 
      AniFrame+1 
      If AniFrame >4 
        AniFrame=0 
      EndIf 
    EndIf 
Danke,
Janiboy

Verfasst: 18.01.2006 22:00
von Macros

Code: Alles auswählen

If delay<0
  If KeyboardPushed(#PB_Key_Right)
    AniFrame+1
    If AniFrame >4
      AniFrame=0
    EndIf
    delay=60
  EndIf 
Else
  delay-1
EndIf
Uff, endlich Ruhe :wink:

Verfasst: 18.01.2006 22:13
von Janiboy
Ok, vielen dank für deine enorme geduld und hilfe, nett von dir. Wirst dich evtl. morgen wieder mit meinen problemen auseinandersetzen müssen :wink: .

Guts nächtle,
Janiboy

Verfasst: 19.01.2006 15:57
von Janiboy
Wie vermutet, hab ich schon wieder ein problem. Habe jetzt mal alles überflüssige an dem sprite mit "transparentsprite" entfernt. Ich wollt jetzt einen untergrund einfügen, auf dem sich die figur bewegt, aber dieser wird nicht angezeigt.
Code

Code: Alles auswählen

If InitSprite() = 0                                                
  MessageRequester("Fehler","Konnte dx nicht finden",0)          
EndIf                                                        


If InitKeyboard()=0                                                
  MessageRequester("Fehler","Konnte dx nicht finden",0)            
EndIf                                                              

If OpenScreen(800,600,32,"Vollbild") = 0                          
  MessageRequester("Fehler","Konnte kein Vollbild erstellen ",0) 
EndIf                                                              

If LoadSprite(0,"Fighter.bmp",0)=0                                
EndIf 
If LoadSprite(1,"Fighter1.bmp",0)=0 
EndIf 
If LoadSprite(2,"Fighter2.bmp",0)=0                                
EndIf 
If LoadSprite(3,"Fighter3.bmp",0)=0 
EndIf 
If LoadSprite(4,"Fighter4.bmp",0)=0                                
EndIf 
If LoadSprite(5,"Boden.bmp",0)=0
EndIf 

TransparentSpriteColor(0, 255, 255, 0)
TransparentSpriteColor(1, 255, 255, 0)
TransparentSpriteColor(2, 255, 255, 0)
TransparentSpriteColor(3, 255, 255, 0)
TransparentSpriteColor(4, 255, 255, 0)
TransparentSpriteColor(5, 255, 255, 0)


position_x = 0 
position_y = 0 

Repeat                                                
  If IsScreenActive()                                    
    ClearScreen(0,0,0)                                
    DisplayTransparentSprite(AniFrame, position_x, position_y) 
    FlipBuffers() 
    
    ExamineKeyboard()                                  
    
 If delay<50
  If KeyboardPushed(#PB_Key_Right) 
    AniFrame+1 
    If AniFrame >4 
      AniFrame=0 
    EndIf 
    delay=60 
  EndIf 
Else 
  delay-1 
EndIf
    
    If KeyboardPushed(#PB_Key_Right)                    
      position_x + 3                                      
      If position_x > 700                              
        position_x = 700                                
      EndIf                                            
    EndIf                                              
    
    If KeyboardPushed(#PB_Key_Left)                    
      position_x  - 3                                  
      If position_x < 0                              
        position_x = 0                            
      EndIf                                            
    EndIf                                              
        
    
    If KeyboardPushed(#PB_Key_Escape)                
      End                                              
    EndIf 
    
  Else 
    Delay(20)    
  EndIf                                      
ForEver 
Danke im Vorraus,
Janiboy

Verfasst: 19.01.2006 16:01
von Macros
Du hast keinen Displaybefehl drinnen außer dem für die Figur !

Verfasst: 19.01.2006 16:11
von Janiboy
noch ein "Display Transparent sprite" oder was ist falsch? wo genau käme das denn hin?

Danke im Vorraus,
Janiboy

Verfasst: 19.01.2006 16:13
von Macros

Code: Alles auswählen

Repeat                                                
  If IsScreenActive()                                    
    ClearScreen(0,0,0)                                
    DisplayTransparentSprite(AniFrame, position_x, position_y) 

    DisplayTransparentSprite(5, 0,screenhöhe-Bodenhöhe) 

    FlipBuffers() 

Verfasst: 19.01.2006 16:20
von Janiboy
gut, gut, jetzt soll aber noch en himmel her und der überdeckt die figur, gibt es einen befehl, der ein sprite "dominant" macht?

Danke,
Janiboy

Verfasst: 19.01.2006 16:23
von Macros
Du musst das "dominante" Sprite einfach später zeichnen:
DisplaySprite(1,0,0) <_______unterstes Sprite
DisplaySprite(2,0,0) <_______Mittleres Sprite
DisplaySprite(3,0,0) <_______Oberstes Sprite
Flipbuffers()

Verfasst: 19.01.2006 16:48
von Janiboy
ok, ich denke die bis auf weiteres letzte frage: wenn ich auf eine andere taste eine andere animation legen will (und dafür natürlich andere sprites brauche) welche werte muss ich verändern, damit zum beispiel nur die sprites 6-8 animiert werden?

Danke,
Janiboy