Großes Problem!!!
Übersicht BlitzBasic Beginners-Corner
noobohneplanBetreff: Großes Problem!!! |
Mi, Dez 02, 2009 17:23 Antworten mit Zitat |
|
---|---|---|
Hallo,
ich habe ein problem, und zwar folgendes: bei meinem Spiel, habe ich eine problem mit dem befehl "if images collide..." Wenn ich im Spiel, eine Kiste(schatztruhe) mit der Figur(fisch) gegen eine Mauer schiebe, soll die kiste vor der mauer stehen bleiben, ist auch so. Dies habe ich mit dem befehl "if images collide..." gut hinbekommen, aber das problem ist das die Figur in die Kiste(schatztruhe) rein geht. Schwierig zu beschreiben hier 2 Bilder die es verständlich machen: http://img190.imageshack.us/gal.php?g=bild1oy.jpg würde mich über lösungen, die machen das auch die figur vor der truhe stehen bleibt wenn diese die mauer berührt, sehr freuen Liebe Grüße noobohneplan ps: ihr könnt das spiel auch mal selber starten dann werdet ihr es besser verstehen können: Code: [AUSKLAPPEN] Graphics 1280,1024
menue=LoadImage ("Hauptmenue.bmp") MaskImage menue,255,255,255 kugelfisch5=LoadImage ("kugelfisch5.bmp") MaskImage kugelfisch5,255,255,255 DrawImage menue,1,1 DrawImage kugelfisch5,900,650 WaitKey() SetBuffer BackBuffer() Global Screenwidth = GraphicsWidth() Global Screenheight=GraphicsHeight() Global title$="Loading Truhen-Schieben" For i=0 To 300 UpdateBar("Vorgang 1",i,300,0,30) Next For j=0 To 1000 UpdateBar("Vorgang 2",j,1000,30,100) Next Print "Fertig!" Print "Spiel Startet..." Function UpdateBar(info$,current#,max#,startpercent#=0.0,endpercent#=100.0,r1%=128,g1%=0,b1%=0,r2%=0,g2%=192,b2%=0,r3%=255,g3%=255,b3%=255) Local percent#,milepercent# Local width%=Screenwidth/2 Local height%=18 Local midx%=(Screenwidth/2) Local midy%=(Screenheight/2) Local sx%=midx-(width/2) Local sy%=midy-(height/2) Local factor#=width*1.0/100 ; program termination always possible If KeyHit(1) Then End ; calc percentages percent=(current*100.0)/max milepercent=((percent*(endpercent-startpercent))/100.0)+startpercent ; upper bar border, red bar background, green progress bar (total) DrawBar(sx,sy,width,height,r1,g1,b1) DrawBar(sx,sy,Int(milepercent*factor),height,r2,g2,b2) Color 0,0,0 : Rect sx,sy,width+1,height,0 ; lower bar border, red bar background, green progress bar (current task) DrawBar(sx,sy+height+3,width,height,r1,g1,b1) DrawBar(sx,sy+height+3,Int(percent*factor),height,r2,g2,b2) Color 0,0,0 : Rect sx,sy+height+3,width+1,height,0 Color r3,g3,b3 ; text infos Text midx,midy-18,title,1,1 Text midx,midy-1,Int(milepercent)+"%",1,1 Text midx,midy+height+2,info,1,1 Flip 0 End Function Function DrawBar(x%,y%,width%,height%,r%,g%,b%) Local i%,c% For i=0 To height-1 Color r,g,b Line x,y+i,x+width,y+i Next End Function Color 249,0,0 x=599 y=200 c=700 z=450 r=1 u=270 p=450 i=600 m=700 n=300 v=600 b=400 g=300 h=450 SetBuffer BackBuffer() kugelfisch=LoadImage ("kugelfisch.bmp") ScaleImage kugelfisch,0.5,0.5; MaskImage kugelfisch,17,92,234 kugelfisch1=LoadImage ("kugelfisch1.bmp") ScaleImage kugelfisch1,0.5,0.5; MaskImage kugelfisch1,17,92,234 kugelfisch3=LoadImage ("kugelfisch3.bmp") ScaleImage kugelfisch3,0.5,0.5; MaskImage kugelfisch3,17,92,234 kugelfisch2=LoadImage ("kugelfisch2.bmp") ScaleImage kugelfisch2,0.5,0.5; MaskImage kugelfisch2,17,92,234 schatztruhe=LoadImage ("schatztruhe.bmp") MaskImage schatztruhe,17,92,234 schatztruhe2=LoadImage ("schatztruhe2.bmp") MaskImage schatztruhe2,17,92,234 schatztruhe3=LoadImage ("schatztruhe3.bmp") MaskImage schatztruhe3,17,92,234 map1=LoadImage ("map1.bmp") ScaleImage map1,1.7,1.7; MaskImage map1,255,255,255 map2=LoadImage ("map2.bmp") ScaleImage map2,1.7,1.7; MaskImage map2,255,255,255 map3=LoadImage ("map3.bmp") ScaleImage map3,1.7,1.7; MaskImage map3,255,255,255 map4=LoadImage ("map4.bmp") ScaleImage map4,1.7,1.7; MaskImage map4,255,255,255 ziel1=LoadImage ("ziel1.bmp") MaskImage ziel1,255,255,255 ziel2=LoadImage ("ziel2.bmp") MaskImage ziel2,255,255,255 ziel3=LoadImage ("ziel3.bmp") MaskImage ziel3,255,255,255 hintergrund1=LoadImage ("hintergrund1.bmp") MaskImage hintergrund1,255,255,255 hintergrund4=LoadImage ("hintergrund4.bmp") MaskImage hintergrund4,255,255,255 hintergrund3=LoadImage ("hintergrund3.bmp") MaskImage hintergrund3,255,255,255 hintergrund2=LoadImage ("hintergrund2.bmp") MaskImage hintergrund2,255,255,255 blasen=LoadImage ("blasen.bmp") MaskImage blasen,17,92,234 menue=LoadImage ("Hauptmenue.bmp") MaskImage menue,255,255,255 rand1=LoadImage ("rand1.bmp") MaskImage rand1,255,255,255 rand2=LoadImage ("rand2.bmp") MaskImage rand2,255,255,255 rand3=LoadImage ("rand3.bmp") MaskImage rand3,255,255,255 Cls blubb=PlayMusic("1.mp3") ClsColor 17,92,234 Cls While Not KeyHit(1) If KeyDown(205) ; (links) r=1 x=x+10 vonwo$ = "rechts" EndIf If KeyDown(203) ; (rechts) r=2 x=x-10 vonwo$ = "links" EndIf If KeyDown(208) ; (hoch) r=3 y=y+10 vonwo$ = "runter" EndIf If KeyDown(200) ; (runter) r=4 y=y-10 vonwo$ = "hoch" EndIf Cls If ImagesCollide (kugelfisch,x,y,0,schatztruhe,c,z,0) And vonwo$ = "runter" z=z+10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe,c,z,0) And vonwo$ = "links" c=c-10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe,c,z,0) And vonwo$ = "rechts" c=c+10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe,c,z,0) And vonwo$ = "hoch" z=z-10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe2,g,h,0) And vonwo$ = "runter" h=h+10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe2,g,h,0) And vonwo$ = "links" g=g-10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe2,g,h,0) And vonwo$ = "rechts" g=g+10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe2,g,h,0) And vonwo$ = "hoch" h=h-10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe,v,b,0) And vonwo$ = "runter" b=b+10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe3,v,b,0) And vonwo$ = "links" v=v-10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe3,v,b,0) And vonwo$ = "rechts" v=v+10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (kugelfisch,x,y,0,schatztruhe3,v,b,0) And vonwo$ = "hoch" b=b-10 Text 0,0, "hallo" EndIf Text 0,0, vonwo$ If ImagesCollide (schatztruhe,c,z,0,ziel1,u,800,0) c=c-10 z=z-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,ziel2,p,i,0) g=g-10 h=h-10 EndIf If ImagesCollide (schatztruhe3,c,z,0,ziel3,m,n,0) c=c-10 z=z-10 EndIf If ImagesCollide (kugelfisch,x,y,0,map1,200,100,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch,x,y,0,map2,216,861,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch,x,y,0,map3,216,100,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch,x,y,0,map4,993,100,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (schatztruhe,c,z,0,map1,200,100,0) And vonwo$ = "links" c=c+10 EndIf If ImagesCollide (schatztruhe,c,z,0,map2,216,861,0) And vonwo$ = "runter" z=z-10 EndIf If ImagesCollide (schatztruhe,c,z,0,map3,216,100,0) And vonwo$ = "hoch" z=z+10 EndIf If ImagesCollide (schatztruhe,c,z,0,map4,993,100,0) And vonwo$ = "rechts" c=c-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,map1,200,100,0) And vonwo$ = "links" g=g+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,map2,216,861,0) And vonwo$ = "runter" h=h-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,map3,216,100,0) And vonwo$ = "hoch" h=h+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,map4,993,100,0) And vonwo$ = "rechts" g=g-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,map1,200,100,0) And vonwo$ = "links" v=v+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,map2,216,861,0) And vonwo$ = "runter" b=b-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,map3,216,100,0) And vonwo$ = "hoch" b=b+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,map4,993,100,0) And vonwo$ = "rechts" v=v-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,map2,216,861,0) And vonwo$ = "runter" b=b-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,map3,216,100,0) And vonwo$ = "hoch" b=b+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,map4,993,100,0) And vonwo$ = "rechts" v=v-10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand1,760,509,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand1,760,509,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand1,760,509,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand1,760,509,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand1,760,509,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand1,760,509,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand1,760,509,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand1,760,509,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand1,760,509,0) And vonwo$ = "hoch" x=x-10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand1,760,509,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand1,760,509,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand1,760,509,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand1,760,509,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand1,760,509,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand1,760,509,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand1,760,509,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand2,215,250,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand2,215,250,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand2,215,250,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand2,215,250,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand2,215,250,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand2,215,250,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand2,215,250,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand2,215,250,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand2,215,250,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand2,215,250,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand2,215,250,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand2,215,250,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand2,215,250,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand2,215,250,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand2,215,250,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand2,215,250,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand3,350,743,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand3,350,743,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand3,350,743,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch,x,y,0,rand3,350,743,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand3,350,743,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand3,350,743,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand3,350,743,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch1,x,y,0,rand3,350,743,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand3,350,743,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand3,350,743,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand3,350,743,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch2,x,y,0,rand3,350,743,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand3,350,743,0) And vonwo$ = "rechts" x=x-10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand3,350,743,0) And vonwo$ = "hoch" y=y+10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand3,350,743,0) And vonwo$ = "runter" y=y-10 EndIf If ImagesCollide (kugelfisch3,x,y,0,rand3,350,743,0) And vonwo$ = "links" x=x+10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand1,760,509,0) And vonwo$ = "rechts" c=c-10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand1,760,509,0) And vonwo$ = "hoch" z=z+10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand1,760,509,0) And vonwo$ = "runter" z=z-10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand1,760,509,0) And vonwo$ = "links" c=c+10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand2,215,250,0) And vonwo$ = "rechts" c=c-10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand2,215,250,0) And vonwo$ = "hoch" z=z+10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand2,215,250,0) And vonwo$ = "runter" z=z-10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand2,215,250,0) And vonwo$ = "links" c=c+10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand3,350,743,0) And vonwo$ = "rechts" c=c-10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand3,350,743,0) And vonwo$ = "hoch" z=z+10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand3,350,743,0) And vonwo$ = "runter" z=z-10 EndIf If ImagesCollide (schatztruhe,c,z,0,rand3,350,743,0) And vonwo$ = "links" c=c+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand1,760,509,0) And vonwo$ = "rechts" g=g-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand1,760,509,0) And vonwo$ = "hoch" h=h+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand1,760,509,0) And vonwo$ = "runter" h=h-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand1,760,509,0) And vonwo$ = "links" g=g+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand2,215,250,0) And vonwo$ = "rechts" g=g-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand2,215,250,0) And vonwo$ = "hoch" h=h+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand2,215,250,0) And vonwo$ = "runter" h=h-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand2,215,250,0) And vonwo$ = "links" g=g+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand3,350,743,0) And vonwo$ = "rechts" g=g-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand3,350,743,0) And vonwo$ = "hoch" h=h+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand3,350,743,0) And vonwo$ = "runter" h=h-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,rand3,350,743,0) And vonwo$ = "links" g=g+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand1,760,509,0) And vonwo$ = "rechts" v=v-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand1,760,509,0) And vonwo$ = "hoch" b=b+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand1,760,509,0) And vonwo$ = "runter" b=b-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand1,760,509,0) And vonwo$ = "links" v=v+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand2,215,250,0) And vonwo$ = "rechts" v=v-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand2,215,250,0) And vonwo$ = "hoch" b=b+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand2,215,250,0) And vonwo$ = "runter" b=b-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand2,215,250,0) And vonwo$ = "links" v=v+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand3,350,743,0) And vonwo$ = "rechts" v=v-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand3,350,743,0) And vonwo$ = "hoch" b=b+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand3,350,743,0) And vonwo$ = "runter" b=b-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,rand3,350,743,0) And vonwo$ = "links" v=v+10 EndIf If ImagesCollide (schatztruhe,c,z,0,schatztruhe2,g,h,0) And vonwo$ = "rechts" c=c-10 EndIf If ImagesCollide (schatztruhe,c,z,0,schatztruhe2,g,h,0) And vonwo$ = "hoch" z=z+10 EndIf If ImagesCollide (schatztruhe,c,z,0,schatztruhe2,g,h,0) And vonwo$ = "runter" z=z-10 EndIf If ImagesCollide (schatztruhe,c,z,0,schatztruhe2,g,h,0) And vonwo$ = "links" c=c+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,schatztruhe,c,z,0) And vonwo$ = "rechts" g=g-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,schatztruhe,c,z,0) And vonwo$ = "hoch" h=h+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,schatztruhe,c,z,0) And vonwo$ = "runter" h=h-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,schatztruhe,c,z,0) And vonwo$ = "links" g=g+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,schatztruhe,c,z,0) And vonwo$ = "rechts" v=v-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,schatztruhe,c,z,0) And vonwo$ = "hoch" b=b+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,schatztruhe,c,z,0) And vonwo$ = "runter" b=b-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,schatztruhe,c,z,0) And vonwo$ = "links" v=v+10 EndIf If ImagesCollide (schatztruhe,c,z,0,schatztruhe3,v,b,0) And vonwo$ = "rechts" c=c-10 EndIf If ImagesCollide (schatztruhe,c,z,0,schatztruhe3,v,b,0) And vonwo$ = "hoch" z=z+10 EndIf If ImagesCollide (schatztruhe,c,z,0,schatztruhe3,v,b,0) And vonwo$ = "runter" z=z-10 EndIf If ImagesCollide (schatztruhe,c,z,0,schatztruhe3,v,b,0) And vonwo$ = "links" c=c+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,schatztruhe3,v,b,0) And vonwo$ = "rechts" g=g-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,schatztruhe3,v,b,0) And vonwo$ = "hoch" h=h+10 EndIf If ImagesCollide (schatztruhe2,g,h,0,schatztruhe3,v,b,0) And vonwo$ = "runter" h=h-10 EndIf If ImagesCollide (schatztruhe2,g,h,0,schatztruhe3,v,b,0) And vonwo$ = "links" g=g+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,schatztruhe2,g,h,0) And vonwo$ = "rechts" v=v-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,schatztruhe2,g,h,0) And vonwo$ = "hoch" b=b+10 EndIf If ImagesCollide (schatztruhe3,v,b,0,schatztruhe2,g,h,0) And vonwo$ = "runter" b=b-10 EndIf If ImagesCollide (schatztruhe3,v,b,0,schatztruhe2,g,h,0) And vonwo$ = "links" v=v+10 EndIf If r=3 DrawImage kugelfisch2,x,y If r=4 DrawImage kugelfisch3,x,y If r=1 DrawImage kugelfisch,x,y If r=2 DrawImage kugelfisch1,x,y DrawImage schatztruhe,c,z DrawImage schatztruhe2,g,h DrawImage schatztruhe3,v,b DrawImage map1,200,100 DrawImage map2,216,861 DrawImage map3,216,100 DrawImage map4,993,100 DrawImage ziel1,u,150 DrawImage ziel2,p,i DrawImage ziel3,m,n DrawImage hintergrund1,-205,0 DrawImage hintergrund2,200,877 DrawImage hintergrund3,50,-305 DrawImage hintergrund4,1009,50 DrawImage blasen,380,200 DrawImage blasen,545,680 DrawImage rand1,760,509 DrawImage rand2,215,250 DrawImage rand3,350,743 Flip Wend |
||
Krischan |
Mi, Dez 02, 2009 17:32 Antworten mit Zitat |
|
---|---|---|
Hmm wäre es nicht einfacher, mittels eines Arrays(x,y) zu überprüfen, ob beide Objekte an derselben Stelle sind? | ||
noobohneplanBetreff: hmmm |
Mi, Dez 02, 2009 17:37 Antworten mit Zitat |
|
---|---|---|
könntest du mir den code schreiben?
ich bin anfänger im programmieren... (dies wird meine Arbeit die ich am 12.1.2010 abgeben muss, daher haben wir auch im unterricht nur die grundlagen besprochen) Arrays sagt mir nichts, aber ich könnte mir vorstellen, dass du meinst, dass es nicht gehen darf das zwei bilder (hier:truhe,fisch) aufeinander kommen dürfen! so vll? liebe grüße noobohneplan |
||
BBPro2 |
Mi, Dez 02, 2009 17:43 Antworten mit Zitat |
|
---|---|---|
is das dein ernst ?
hier wird dir niemand deine arbeit machen... das ist ja schließlich DEINE arbeit. ich kann mir auch nicht vorstellen, dass man euch nichts von arrays erzählt und dann möchte, dass ihr so etwas programmiert. wenn du das nicht kannst, dann mach eine andere arbeit, aber erwarte nicht, dass wir dir hier fertigen code liefern. du selbst musst das hinbekommen, wir können dir nur ganz grobe ideen liefern. google mal nach arrays, wird sich sicher ungefähr 1 milliarde einträge finden.... zu deinem problem: ein 2. imagescollide zwischen deiner figur und der schatztruhe sollte genüge tun. in zukunft unterlasse bitte diese hilfeschreie nach fertigem code, den wirst du sowieso nicht bekommen - von niemandem. DU programmierst das, nicht wir. so far |
||
Starwar |
Mi, Dez 02, 2009 17:46 Antworten mit Zitat |
|
---|---|---|
Heyhey, ganz ruhig BBPro.
Nicht jeder ist ein "Pro" "wie du". (Ob da ein Funke Ironie drin steckt?) Also ich werde dir auch keinen Code liefern, da in Rob's Tutorials gewiss was über Arrays steht. Und dann noch Dim. Da kannst du alles nachlesen. Des weiteren solltest du ImagesCollide nicht benutzen. Alternativen gibts per Forensuche. MFG |
||
noobohneplanBetreff: aha... |
Mi, Dez 02, 2009 17:53 Antworten mit Zitat |
|
---|---|---|
ok danke !
BBPro2 beruhig dich mal! kriegst ja fast einen herzinfakt... ohh man ich erwarte auch nicht, dass jemand meine arbeit macht, ich habe bisher alles gemacht, aber das WorldWideWeb bietet viele möglichkeiten die arbeit zu verbessern, z.B. von anderen hilfen kriegen... ich werde mir das mit dem 2. image collide mal angucken, trotzdem brauchste nicht gleich so "abgehen" echt kein verständnis dafür -.- |
||
BBPro2 |
Mi, Dez 02, 2009 17:58 Antworten mit Zitat |
|
---|---|---|
und ich hab kein verständnis für
Zitat: könntest du mir den code schreiben?
ich bin anfänger im programmieren... (dies wird meine Arbeit die ich am 12.1.2010 abgeben muss, daher haben wir auch im unterricht nur die grundlagen besprochen) ich bin anfänger im programmieren -> das ändert sich indem man code schreibt und dinge versteht, nicht in dem man copy&paste versteht. das wird meine Arbeit -> DEINE Arbeit. wir geben hilfestellungen, keinen code. bin sicher nicht der einzige, der das hier so sieht - du hattest glück, dass gerade einer zwischendrin geantwortet hat, der auf "deiner seite" steht die aussage von starwar ist nämlich auch nciht sooo sinnvoll.... 1. ich ein pro ? was hat das damit zu tun - abgesehen davon dass ich das weder explizit noch implizit behauptet habe... es hat nichts mit pro-sein zu tun, wenn man sich dinge erarbeitet, statt nach code verlangt. nur das erstere macht sinn - und das muss man den leuten deutlich machen. 2. arrays sollte man entweder kennen - oder auf die idee kommen danach zu suchen. wenn jemand sagt "die lösung sind arrays", dann ist "ich kenne keine arrays - gib mir code" keine adäquate antwort ! dann geht man auf google, gibt das ominöse wort ein, schaut sich das an und wenn man DANN fragen hat... dann kann man sie auch stellen. aber nciht so, sorry. das ist unhöflich und faul ! |
||
noobohneplan |
Mi, Dez 02, 2009 18:04 Antworten mit Zitat |
|
---|---|---|
... du sagtest :
"2. imagescollide zwischen deiner figur und der schatztruhe sollte genüge tun. " aber wie meinst du das genau ich möchte ja weiterhin mit dem '"fisch" die "schatztruhe verschieben können! |
||
BBPro2 |
Mi, Dez 02, 2009 18:20 Antworten mit Zitat |
|
---|---|---|
ich hab mir deinen code nicht durchgelesen, da ich weder zeit noch lust habe
so viele zeilen code zu lesen.. aber prinzipiell war es so gemeint, dass du den fisch nicht auf die kiste kommen lässt. das machst du indem du überprüfst ob der fisch auf der kiste wäre mittels imagescollide wenn du ihn bewegen würdest und dann diese bewegung nicht zulässt. wenn du die abfrage hinter die stelle schreibst an der du das "schieben" implementiert hast sollte das ganze auch funktionieren... |
||
Tankbuster |
Mi, Dez 02, 2009 18:35 Antworten mit Zitat |
|
---|---|---|
btw:
ImagesCollide bringt das Programm oft zum abstürzen, ich kann von dieser Funktion nur abraten. |
||
Twitter
Download Jewel Snake! Windows|Android |
BBPro2 |
Mi, Dez 02, 2009 18:53 Antworten mit Zitat |
|
---|---|---|
hm, wusste ich nicht.
was sind ernstzunehmende alternativen ? und ich meine nicht rectsoverlap, da das offensichtlich nicht das selbe ist |
||
Starwar |
Mi, Dez 02, 2009 18:54 Antworten mit Zitat |
|
---|---|---|
Ich will eigentlich keinen Flamewar, desshalb werde ich mich jetzt noch einmal rechtfertigen und dann still sein...
Ich habe ihm konkrete Verweise gegeben: 1. Rob's Tutorials 2. Dim Und das steigert die Qualität meines Beitrags im Gegensatz zu deinem in astronomische Höhen, da er konstruktiv ist. Zurück zum Thema. Du kannst ein Dimfeld als eine Art Raster sehn. Oder auch Exel-Tabelle. In jede Zelle passt genau ein Wert. Zum Beispiel eine Sache die das Feld blockiert. Wenn das Feld (0|0) leer ist ist "deindim(0,0)=0" wenn z.B. ein Stein drin ist "deindim(0,0)=1" und eine Truhe "deindim(0,0))=2" Dann kannst du gucken. "Wenn deindim(5,7)=2 dann schreibe: Auf dem Feld X=5 und Y=7 liegt eine Truhe" Das wäre ein Ansatz. Es geht gewiss noch eleganter, aber das sollte als Grundüberlegung mehr als ausreichen. btw: Damit kannst du dir ImagesCollide sparen... MFG |
||
BBPro2 |
Mi, Dez 02, 2009 19:12 Antworten mit Zitat |
|
---|---|---|
Zitat: Ich habe ihm konkrete Verweise gegeben: 1. Rob's Tutorials 2. Dim Und das steigert die Qualität meines Beitrags im Gegensatz zu deinem in astronomische Höhen, da er konstruktiv ist. Zurück zum Thema. Du kannst ein Dimfeld als eine Art Raster sehn. Oder auch Exel-Tabelle. In jede Zelle passt genau ein Wert. Zum Beispiel eine Sache die das Feld blockiert. das gleiche habe ich getan. ich sagte google -> array -> 1. seite ziemlich das gleiche ergebnis. |
||
hecticSieger des IS Talentwettbewerb 2006 |
Mi, Dez 02, 2009 19:49 Antworten mit Zitat |
|
---|---|---|
Das ''Pro'' bezog sich wohl auch auf dein Nick BBPro2... Deshalb auch die Anspielung auf Ironie seiner Aussage. Und dennoch fand ich, dass der Beitrag von Starwar sinnvoller war. Zumindest war dieser nicht so ''explosiv'' ausgetragen. Aber naja, man kann sich streiten. Aber wenn ich über Google ''Array'' suche, dann würde ich bestimmt 50% Cx, 25% PHP, 15% VB, 9.9% Andere außer BB dazu finden. Das würde mich dann auch nicht wirklich weiter bringen.
Aber da ich auch mal Anfänger war, kann ich nur dazu sagen, dass ich zumindest an einfachen Code am besten gelernt habe. noobohneplan kann ich nur dazu raten, den zuerst geposteten Code komplett so weg zu schmeissen, denn dieser ist vollkommener Mist. Sorry. Aber damit du mal ein kleinen Denkanstoß dazu bekommst, hab ich dir eine äußerst einfache Tilemap gemacht. Man kann sogar mit der Spielfigur drin rum laufen und gegen Wände laufen... Code: [AUSKLAPPEN] Graphics 1024,768,0,2
SetBuffer BackBuffer() Local Timer=CreateTimer(12) Dim Map(31,23) Local iX,iY Local XP=2 Local YP=2 ; GANZE MAP UNBEGEHBAR MACHEN, DAMIT ; EINE MAUER UM DAS SPIELFELD ENTSTEHT For iY=0 To 23 For iX=0 To 31 Map(iX,iY)=1 Next Next ; PER ZUFALLSMUSTER NUN BEGEHBAREN ; BEREICH IM SPIELFELD ERSTELLEN For iY=1 To 22 For iX=1 To 30 If Rand(0,9)>2 Then Map(iX,iY)=0 Next Next While Not KeyHit(1) ; TASTATURABFRAGEN / ABER NUR GEHEN, WENN ; DIE ENTSPRECHENDE RICHTUNG AUCH FREI IST If KeyDown(203) Then If Map(XP-1,YP)=0 Then XP=XP-1 If KeyDown(205) Then If Map(XP+1,YP)=0 Then XP=XP+1 If KeyDown(200) Then If Map(XP,YP-1)=0 Then YP=YP-1 If KeyDown(208) Then If Map(XP,YP+1)=0 Then YP=YP+1 ; SPIELFELD ZEICHNEN For iY=0 To 23 For iX=0 To 31 Color Map(iX,iY)*255,0,0 Rect iX*32,iY*32,32,32,1 Next Next ; SPIELER ZEICHNEN Color 255,255,255 Rect XP*32,YP*32,32,32,1 WaitTimer Timer Flip 0 Cls Wend Ansonsten gibt es auch eine schöne deutsche Onlinehilfe hier im Forum: https://www.blitzforum.de/help , welche sich auch offline ins eigene BB integrieren lässt. Dann ruft man entsprechende Teile per F1 ab, und landet gleich zu dem Befehl, wo sich der Cursor befand. Also gleich einrichten und lernen. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
noobohneplan |
Mi, Dez 02, 2009 20:47 Antworten mit Zitat |
|
---|---|---|
Ich habe gerade mal versucht deinen code in meinen code einzubauen,
ich habe dies übernommen: Code: [AUSKLAPPEN] Dim Map(31,23)
Local iX,iY Local XP=2 Local YP=2 ; PER ZUFALLSMUSTER NUN BEGEHBAREN ; BEREICH IM SPIELFELD ERSTELLEN For iY=1 To 22 For iX=1 To 30 If Rand(0,9)>2 Then Map(iX,iY)=0 Next Next While Not KeyHit(1) ; TASTATURABFRAGEN / ABER NUR GEHEN, WENN ; DIE ENTSPRECHENDE RICHTUNG AUCH FREI IST If KeyDown(203) Then If Map(XP-1,YP)=0 Then XP=XP-1 If KeyDown(205) Then If Map(XP+1,YP)=0 Then XP=XP+1 If KeyDown(200) Then If Map(XP,YP-1)=0 Then YP=YP-1 If KeyDown(208) Then If Map(XP,YP+1)=0 Then YP=YP+1 ; SPIELER ZEICHNEN Color 255,255,255 Rect XP*32,YP*32,32,32,1 WaitTimer Timer Flip 0 Cls aber dann kommt immer: illegal memory adress ich würde gerne, du könntest ja mein spiel ja mal mit meinen codes starten, dass diese quadratische bewegen immer nur mit einen tastatur drücken auch nur so abgehackt x+10 geht... (so wie es in deinem code ist aber ich habe schwierigkeiten es in meinen code einzubauen) könntest du mal nachschauen? |
||
DjDETE |
Mi, Dez 02, 2009 20:57 Antworten mit Zitat |
|
---|---|---|
Schau dir mal die RPG Tutorials an, wenn du lust hast, sollte dein Problem behandeln.
http://robsite.net/files/0000/0004/bb_rpgtut.zip MfG |
||
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden. |
ozzi789 |
Mi, Dez 02, 2009 20:58 Antworten mit Zitat |
|
---|---|---|
Der Debugger ist dein Freund, er zeigt auf
Code: [AUSKLAPPEN] WaitTimer Timer
Eine Mav bedeutet immer das ein Objekt verwendet wird das es nicht "gibt" also schauen wir mal, wo erstellen wir den Timer? Nirgendswo Nun sollte klar sein wie du das behebst btw den Code nicht abschreiben sondern verstehn.. mfg ozzi |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
noobohneplanBetreff: huhu |
Mi, Dez 02, 2009 21:12 Antworten mit Zitat |
|
---|---|---|
hm. ok aber habe gerade gesehen das das nicht wirklich mein problem ist
ich möchte eig nur seine (quadratisches gehen) in mein spiel einbringen ohne hintergrund aber ich schaff das irgendiwe net! könntest du vll mal gucken? vll mal mein spiel starten mit meinem code? |
||
BBPro2 |
Mi, Dez 02, 2009 21:18 Antworten mit Zitat |
|
---|---|---|
also zunächst mal:
bei so wenig eigeninitative kannst du dir nicht allzuviel hilfe erhoffen... ich bin raus, hab keine lust mehr auf diesen quatsch. mit etwas glück findest du noch jemand anderes der dir hier weiterhilft.. aber als anmerkung: du sagst ständig wir sollen deinen code ausführen... so lange du keine grafiken hochlädst die wir benutzen können ist der code erstmal nicht ausführbar.. und extra irgendwelche dummygrafiken erstellen dafür wird den meisten zu streßig sein. also lad erstma das komplette ding hoch, dann findeste vlt auch ein paar, die den code ausführen. so far |
||
DjDETE |
Mi, Dez 02, 2009 21:22 Antworten mit Zitat |
|
---|---|---|
@BBPro2: Wenn du keine Lust hast, dann schreib doch einfach nicht
@Topic: In dem vorher Zitiertem Turorial wird dein Problem behandelt -> angucken, was du nicht brauchst/schon weißt ignorieren, dann sollte es mit dem Dim Zeug klappen. Anschließend kannst du dann ganz einfach überprüfen, ob in dem nachbarkasten, in den du gehen willst eine truhe ist, wenn ja mitverschieben (falls an übernächster stelle eine wand ist natürlich nichts machen). Das wär's auch schon. MfG |
||
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden. |
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group