Großes Problem!!!

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

noobohneplan

Betreff: Großes Problem!!!

BeitragMi, Dez 02, 2009 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Smile

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

BeitragMi, Dez 02, 2009 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm wäre es nicht einfacher, mittels eines Arrays(x,y) zu überprüfen, ob beide Objekte an derselben Stelle sind?
 

noobohneplan

Betreff: hmmm

BeitragMi, Dez 02, 2009 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 17:46
Antworten mit Zitat
Benutzer-Profile anzeigen
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
 

noobohneplan

Betreff: aha...

BeitragMi, Dez 02, 2009 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
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 -.-

Rolling Eyes
 

BBPro2

BeitragMi, Dez 02, 2009 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
... 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

BeitragMi, Dez 02, 2009 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
btw:
ImagesCollide bringt das Programm oft zum abstürzen, ich kann von dieser Funktion nur abraten.
Twitter
Download Jewel Snake!
Windows|Android
 

BBPro2

BeitragMi, Dez 02, 2009 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, wusste ich nicht.
was sind ernstzunehmende alternativen ?

und ich meine nicht rectsoverlap, da das offensichtlich nicht das selbe ist Smile

Starwar

BeitragMi, Dez 02, 2009 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Dez 02, 2009 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
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
 

noobohneplan

Betreff: huhu

BeitragMi, Dez 02, 2009 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
hm. ok aber habe gerade gesehen das das nicht wirklich mein problem ist Sad
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

BeitragMi, Dez 02, 2009 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 02, 2009 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
@BBPro2: Wenn du keine Lust hast, dann schreib doch einfach nicht Wink
@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.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group