types??? *neue Frage*
Übersicht

Schoasch |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
garret, du sagtest ja der Fehler kommt, weil die Rechtecke nicht vorhanden waren wei lich sie immer lösche... ich habs ausprobiert und es läuft. Aber das Haupt-rechteck ist nicht da ---> Code: [AUSKLAPPEN] Rect ax,ay,65,40
müsste das dann nicht auch so ein fehler sein? edit: ich hab das jetzt so gemacht: Code: [AUSKLAPPEN] For lala.Regen = Each Regen lala\y = lala\y + lala\Geschwindigkeit Rect lala\x,lala\y,0.6,lala\Laenge If RectsOverlap(ax,ay,65,40,lala\x,lala\y,0.6,lala\Laenge) Then Text 0,0,"collide" If lala\y >= 601 Then Delete lala.Regen Next Rect ax,ay,65,40 If RectsOverlap(ax,ay,65,40,lala\x,lala\y,0.6,lala\Laenge) Then Text 0,0, "collide" Flip Until KeyHit(1) aber dann sagt er wieder: Object does not excist |
||
![]() |
Thorsten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mach es so, wie ich es geschrieben habe. ![]() Das untere Code: [AUSKLAPPEN] If RectsOverlap(ax,ay,65,40,lala\x,lala\y,0.6,lala\Laenge) Then Text 0,0, "collide"
brauchst du nicht! mfG |
||
SchoaschBetreff: neue frage |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also das mit dem rechteck collidieren funkt jetzt aber ich will jetzt einen Kreis(Oval) mit einem Rechteck collidieren lassen. Hab das mit rectsoverlap versucht aber object does not exsist. ich hab das mal so gemacht wie ihr das gesagt habt ... ![]() kann das daran liegen das man mit rects overlap nur rechtecke collidieren lassen kann? ich zeig euch mal den Teil wo das vorkommt: Code: [AUSKLAPPEN] Function Test() Repeat Color 0,0,255 wzahler = wzahler + 1 If wzahler >= 10 And MouseHit(1) Then s.schuss = New schuss s\x = MouseX() s\y = 600 s\geschwindigkeit = 4 EndIf For s.Schuss = Each Schuss s\y = s\y - s\geschwindigkeit Oval s\x,s\y,20,20,1 Next Color 255,0,0 Rect 0,0,800,50 If RectsOverlap(s\x,s\y,20,20,0,0,800,50) Then Leben = Leben - 1 Delete s.Schuss EndIf Flip Cls Until KeyHit(1) End Function ich hoffe ihr könnt mir weiterhelfen: danke schon mal im vorraus: Schoasch EDIT: Hat sich erledigt ![]() |
||
Schoasch |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also hab das jetzt mal ein wenig ausgebaut --> is schon son richtiges minigame nur fehlt mir noch der endgegner...den hab ich so gut wie fertig nur gibt es da ein winzig kleines prob. also man muss gegen den Boss wasserkugeln schießen und der schießt Feuerkugeln zurück...ich hab das mit den Leben und so schon fertig (außer das man nicht sterben kann aber das mach ich später, sonst kann man net gut testen) aber ich will das mit
Code: [AUSKLAPPEN] If RectsOverlap(s\x,s\y,20,20,gs\x,gs\y,20,1) Then Delete gs.Schuss2 Delete s.Schuss machen das wenn die sich überlappen, dass sie dann verschwinden. Ich hab mal versucht das wo einzubaun und hab das schon gehabt das die verschwinden aber wenn das gegangen is, hat was anderes VOLL gesponnen. ich hab wegen den 2 types (gegnerische schüsse, meine schüsse) zwei for-next schleifen gebraucht (For s.schuss = each schuss - For gs.schuss2 = each schuss) und in keine von den beiden kann ich den Befehl reingeben. hab schon probiert eine schleife in die andere zu geben... aber nie bin ich ans richtige ergebnis gekommen ![]() ich hoffe ihr könnt mir helfen, hier ist der code vom boss: Code: [AUSKLAPPEN] Function Bosseins(Wasservorrat) aaa = 1 Leben = 3 LebenF = 10 wzahler = 10 wzahler2 = 80 Repeat Color 0,0,255 wzahler = wzahler + 1 If wzahler >= 10 And wasservorrat > 0 And MouseHit(1) Or aaa = 1 Then wzahler = 0 s.schuss = New schuss s\x = MouseX() If aaa = 1 Then s\x = - 50 s\y = 600 s\geschwindigkeit = 2 wasservorrat = wasservorrat -1 aaa = 0 EndIf wzahler2 = wzahler2 + 1 If wzahler2 >= 80 Then wzahler2 = 0 gs.schuss2 = New schuss2 gs\x = Rnd(0,800) gs\y = - 20 gs\geschwindigkeit = 1 EndIf Color 255,0,0 For gs.schuss2 = Each schuss2 gs\y = gs\y + gs\geschwindigkeit Oval gs\x,gs\y,20,20,1 If gs\y >= 601 Then Leben = Leben - 1 Delete gs.schuss2 Next Color 0,0,255 For s.Schuss = Each Schuss s\y = s\y - s\geschwindigkeit Oval s\x,s\y,20,20,1 If RectsOverlap(s\x,s\y,20,20,0,0,800,50) Then LebenF = LebenF - 1 Delete s.Schuss EndIf Next Color 255,0,0 Rect 0,0,800,50 Color 0,255,0 Text 100,20,"Leben der Feuerwand: " + LebenF Text 0,50, Leben Color 50,50,255 Rect 5,590,Wasservorrat,10 Flip Cls Until KeyHit(1) End Function und hier die zwei types: Type Schuss Field x Field y Field Geschwindigkeit End Type Type Schuss2 Field x Field y Field Geschwindigkeit End Type danke schon mal im vorraus: Schoasch edit: das ganze spiel is bei mir in: Graphics 800,600,16,2 (nur mal so nebenbei xxDDD) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group