types??? *neue Frage*

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

Schoasch

BeitragDo, Apr 12, 2007 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Apr 12, 2007 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach es so, wie ich es geschrieben habe. Rolling Eyes
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
 

Schoasch

Betreff: neue frage

BeitragSa, Apr 14, 2007 8:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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 ... Sad
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 Smile
 

Schoasch

BeitragSa, Apr 14, 2007 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Sad
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)

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group