animimage
Übersicht

falkeBetreff: animimage |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi wisst ihr wie man
Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() bild = LoadAnimImage("mannanim.bmp",17,34, 0,4) MaskImage bild,255,255,255 Repeat For I=0 To 3 Cls DrawImage bild,x1,x1,I Flip Delay 200 Next Until KeyHit(1) WaitKey in Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() ;Bilder Global bild=LoadImage ("straße1.bmp") Global mann=LoadImage ("mann.bmp") Global wurf =LoadImage ("wurf.bmp") Global haus=LoadImage ("haus.bmp") Global kasten=LoadImage ("briefkasten.bmp") Global baum = LoadImage ("baum.bmp") Global gulli=LoadImage ("gulli.bmp") ;Masken MaskImage bild12,255,255,255 MaskImage mann,255,255,255 MaskImage haus,255,255,255 MaskImage kasten,255,255,255 MaskImage baum,255,255,255 MaskImage gulli,255,0,255 ;Variablen Global y=-1300 Global y1=450 Global x1=390 Global pun = 0 Global h1= 700 Global h=0 Global ende= h1 Global ent$= "Wurf möglich" Global hau$=1 Global leb=3 Repeat los Until KeyHit(1) Function los() k1=h1-40 k=h+110 z=MilliSecs() schnell=0 bx=Rnd (200,400) by= Rnd (-1000,-200) gx=Rnd (400,500) gy=Rnd (-200-20) Repeat Cls DrawImage bild,0,y DrawImage haus,h1,h DrawImage kasten,k1,k DrawImage baum,bx,by DrawImage gulli,gx,gy ;For i=0 To 3 ;DrawImage bild12,x1,y1,i ;Flip 0 ;Next DrawImage mann,x1,y1 Text 0,15,ent Text 0,30,leb y=y+1:h=h+1:k=k+1:by=by+1:gy=gy+1:Delay schnell If ImagesCollide (mann,x1,y1,0,baum,bx,by,0) Then by=Rnd(-1000,-10):bx=Rnd(200,500):leb=leb-1 If KeyDown(203) Then x1=x1-1 If KeyDown(205) Then x1=x1+1 If KeyDown(28) Then wurf Text 0,0,"Punkte: " + pun x2=x2+1 If zz-z=500 And hau=1 Then hau=0 If y=0 Then y=-1300 If h>600 Then h=-148:k=h+110 If by=600 Then by=Rnd(-10,-1000):bx=Rnd(350,200) If gy=600 Then gy=Rnd (-20-200):gx=Rnd (450,400) If leb<0 Then End If x1<360 Then ent= "Wurf nicht möglich da Entfernung zum Haus zu weit" If x1>360 Then ent= "Wurf möglich" zz=MilliSecs() Flip 0 Until KeyHit(1):End End Function einbindet ohne dass es zu langsam wird? edit: 8) = 8 und )Code: [AUSKLAPPEN] |
||
http://pssweb.ps.funpic.de/index.html |
![]() |
fanta@Kacke_am_Dampfen |
![]() Antworten mit Zitat ![]() |
---|---|---|
was willst du mit deiner for-schleife mit flip in der hauptschleife bezwecken? | ||
falke |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
fanta@Kacke_am_Dampfen hat Folgendes geschrieben: was willst du mit deiner for-schleife mit flip in der hauptschleife bezwecken?
hä nochmal auf deutsch bidde ich wollte wissen wie man das aniimage in die hauptschleife einbindet |
||
http://pssweb.ps.funpic.de/index.html |
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Frage von Fanta ist berechtigt - und übrigens in einwandfreiem Deutsch.
Das Unverständnis kommt wohl eher von der Programmiererseite ![]() |
||
![]() |
fanta@Kacke_am_Dampfen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, wenn ich es so sehe ist deine Funktion überflüssig, also kannst du den inhalt in die erste repeat-schleife stellen. Mach das mal. Dann machste Delay weg und die For-Schleife, in der der Befehl Flip enthalten ist, bindest du ohne schleife in die Hauptschleife ein. Dann sieht der Code schon mal besser aus. | ||
- Zuletzt bearbeitet von fanta@Kacke_am_Dampfen am Mo, Jan 10, 2005 20:10, insgesamt einmal bearbeitet
falke |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
leider falsch verstanden eigentlich wird die funktion nur einmal aufgerufen
ich habs etwas abgeändert damit ihr es ausprobieren könnt eine funktion anfang ruft bei mir die funktion los nur EINMAL auf |
||
http://pssweb.ps.funpic.de/index.html |
![]() |
fanta@Kacke_am_Dampfen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja schon klar deine funktion wird nur einmal aufgerufen, aber ist völlig unnütz, du kannst den ganzen Code doch einfach in die Hauptschleife stellen. | ||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
also wenn ich dich richtig verstehe: im ersten Code hast du eine Anim einer Figur. Diese läuft schön. Jetzt willst du diese Anim in den zweiten Code einbinden. das es zu langsam ist es einfach reinzupasten liegt (wie du mir bestimmt bestätigen kannst) zweifelsohne an dem Delay. Was macht das Delay 200? Es sorgt dafür, dass nach 200 Millisekunden das nächste Bild der Anim dran kommt. Wenn wir nun eine Animvariable einführen (zB I) und dieses I aller 200 Millisekunden erhöhen (und irgendwann zurücksetzen), dann müsste es klappen. Das geht auch leicht mit der Variable MilliSecs(). Den Rest schaffst du! MfG D2006 |
||
falke |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
thx aber langsamer wirds trotzdem...
lässt sich wohl net ändern |
||
http://pssweb.ps.funpic.de/index.html |
![]() |
fanta@Kacke_am_Dampfen |
![]() Antworten mit Zitat ![]() |
---|---|---|
also jetzt nochmal zum mitschreiben:
Code: [AUSKLAPPEN] Repeat Csl ... animvar = (animvar+1) Mod 30 anim = animvar/10 drawimage bild,x,y,anim ... flip Until Keyhit(1) End bei einem bild mit 3 animationen und 10 durchläufen pro animationsbild. Die Zahlen kannst du variieren, wenn die animation schneller oder langsamer ablaufen soll oder die animation mehr bilder enthält. |
||
![]() |
Chester |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich sag nur :
OH -> Millisecs() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group