Hilfe bei Animation
Übersicht

![]() |
viper199Betreff: Hilfe bei Animation |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich brauche HIlfe für eine Animation,
ich habe den code so eingegeben wie ich ihn verstanden habe, doch es zeigt nur das erste Bild der Animation an! Hoffentlich könnt ihr mir helfen! Danke schonmal viper199 ![]() Code: [AUSKLAPPEN] AppTitle "RPG" Graphics 640,480,16,2 SetBuffer BackBuffer() player = LoadAnimImage("Bilder\Player\playerup.bmp" ,95,95,0,8) links = LoadAnimImage("Bilder\Player\playerleft.bmp" ,95,95,0,8) rechts = LoadAnimImage("Bilder\Player\playerright.bmp" ,95,95,0,8) oben = LoadAnimImage("Bilder\Player\playerup.bmp" ,95,95,0,8) unten = LoadAnimImage("Bilder\Player\playerdown.bmp" ,95,95,0,8) Tod = LoadAnimImage("Bilder\Player\playertod.bmp" ,95,95,0,8) gegner = LoadImage("Bilder\Monster\Oger.bmp") Map = LoadImage("Bilder\Map\Map.bmp") Mapbg = LoadImage("Bilder\Map\Mapbg.bmp") Leben =1000 Mana =500 player_x=300 player_y=200 Type gegner Field gegner_x Field gegner_y End Type gegner_x=200 gegner_y=200 While Not KeyDown(1) If KeyDown(203) Then player_x=player_x-2 player=links If ImagesCollide(player,player_x,player_y,0,Mapbg,1,1,0) Then player_x=player_x+2 EndIf If KeyDown(205) player_x=player_x+2 player=rechts If ImagesCollide(player,player_x,player_y,0,Mapbg,1,1,0) Then player_x=player_x-2 EndIf If KeyDown(200) player_y=player_y-2 player=oben If ImagesCollide(player,player_x,player_y,0,Mapbg,1,1,0) Then player_y=player_y+2 EndIf If KeyDown(208) player_y=player_y+2 player=unten If ImagesCollide(player,player_x,player_y,0,Mapbg,1,1,0) Then player_y=player_y-2 End If Cls MaskImage Mapbg, 0, 0, 0 MaskImage gegner, 255, 0, 255 MaskImage player, 255, 0, 255 DrawImage Map ,0,0 DrawImage Mapbg ,0,0 DrawImage gegner,gegner_x,gegner_y DrawImage player,player_x,player_y Color 255,0,0 Rect 100,10,Leben / 10,10 Text 50,8, "Leben:" If Leben < 0 Then player=Tod Color 0,0,255 Rect 100,30,Mana / 10,10 Text 60,30, "Mana:" Flip Wend |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh man! Wegen solcher Fragen sollte man Tuts lesen!
Du musst nicht einfach nur das Bild laden! Zitat: player = LoadAnimImage("Bilder\Player\playerup.bmp" ,95,95,0,8)
Du musst noch sagen, welches Frame angezeigt werden soll. Das erhöhst du dann immer, damit alle angezeigt werden. Wenns zu hoch ist, kannste wieder bei 0 anfangen!^^ |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja sry hab nicht gesehen das es mehrere Seiten von ROB gibts ![]() hab jetzt aber einen Fehler, und es währe nett wenn den mir jemand erklären könnte bzw zeigen! ![]() Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() Global player=LoadAnimImage("hero_spr.bmp",70,83,1,16) Global Player_Counter = 16, Player_Frame = 0 While Not KeyHit(1) If KeyDown(203) player_x=player_x-2 If Player_Frame <9 Then Player_Frame = 9 Player_Counter = Player_Counter -1 If Player_Counter = 0 Then Player_Counter = 16 Player_Frame = Player_Frame +1 If Player_Frame = 16 Then Player_Frame = 9 EndIf EndIf If KeyDown(205) player_x=player_x+2 If Player_Frame >8 Then Player_Frame = 1 Player_Counter = Player_Counter -1 If Player_Counter = 0 Then Player_Counter = 16 Player_Frame = Player_Frame +1 If Player_Frame = 8 Then Player_Frame = 1 EndIf EndIf Cls DrawImage player, player_x, player_y, player_frame Flip Wend |
||
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das lag daran, das die sprites irgendwie eine macke hatten ![]() jetzt funktionierts, doch ich hab natürlich ein neues problem und zwar wächselt nicht immer die animation beim gehen! (error: illegal memory adress) siehe hier: https://www.blitzforum.de/upload/file.php?id=1238 woran kannn das liegen bzw wodran liegts, fals euch der code hilft hier nochmal der code: Code: [AUSKLAPPEN] AppTitle "Morte"
Graphics 640,480,16,2 SetBuffer BackBuffer() Global player=LoadAnimImage("hero_spr.bmp",32,48,0,16) Global Player_Counter = 16, Player_Frame = 0 MaskImage player, 20,1,214 player_x=300 player_y=200 While Not KeyHit(1) If KeyDown(203) player_x=player_x-1 If Player_Frame <4 Then Player_Frame = 4 Player_Counter = Player_Counter -1 If Player_Counter = 0 Then Player_Counter = 16 Player_Frame = Player_Frame +1 If Player_Frame = 7 Then Player_Frame = 4 EndIf EndIf If KeyDown(205) player_x=player_x+1 If Player_Frame <8 Then Player_Frame = 8 Player_Counter = Player_Counter -1 If Player_Counter = 0 Then Player_Counter = 16 Player_Frame = Player_Frame +1 If Player_Frame = 11 Then Player_Frame = 8 EndIf EndIf If KeyDown(200) player_y=player_y-1 If Player_Frame <12 Then Player_Frame = 12 Player_Counter = Player_Counter -1 If Player_Counter = 0 Then Player_Counter = 16 Player_Frame = Player_Frame +1 If Player_Frame = 16 Then Player_Frame = 12 EndIf EndIf If KeyDown(208) player_y=player_y+1 If Player_Frame >4 Then Player_Frame = 1 Player_Counter = Player_Counter -1 If Player_Counter = 0 Then Player_Counter = 16 Player_Frame = Player_Frame +1 If Player_Frame = 4 Then Player_Frame = 1 EndIf EndIf Cls DrawImage player, player_x, player_y, player_frame Flip Wend |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn du die meldung "illegal memory adress" (bzw "memory access valoation" bei v1.98) bekommst hast du debug off: geh mal auf Program -> Debug Enabled? dann bekommst du eine Preziesere anweisung wo dein Fehler ist und du kannst ganz rechts alle variabeln und deren werte dir anschauen und dir dann gedanken machen wo dein Fehler ist. | ||
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke,
jedoch hat das nciht geholfen sondern der fehler war ledeglich das ich keinen wert angegeben habe fals der wert größer ist als der der gebraucht wird und das hat bugs verursacht. If player1_Frame <36 Then player1_Frame = 36 player1_Counter = player1_Counter -1 If player1_Counter = 0 Then player1_Counter = 12 player1_Frame = player1_Frame +1 If player1_Frame = 39 Then player1_Frame = 36 If player1_Frame >39 Then player1_Frame = 36 EndIf |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group