Kollision haut nicht hin(so langsam wirds dringend)
Übersicht BlitzBasic Allgemein
Flori-DBetreff: Kollision haut nicht hin(so langsam wirds dringend) |
Mo, Dez 22, 2003 14:00 Antworten mit Zitat |
|
---|---|---|
Hi.Was stimmt bei dem Code nicht?
Code: [AUSKLAPPEN] ;Kollision Komet-Spieler
For I=1 To 50 If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff(J,0)) Then PlaySound(trefferton) Alien(I,0) And schiff(J,0) = -1 EndIf Next |
||
- Zuletzt bearbeitet von Flori-D am Mo, Dez 22, 2003 19:05, insgesamt 2-mal bearbeitet
PsychoMan |
Mo, Dez 22, 2003 14:06 Antworten mit Zitat |
|
---|---|---|
ich glaube dass es am "Alien(I,0) And schiff(J,0) = -1" liegt. und hast du eigentlich auch eine schleife für schiff(J,0)? sowas wie:Code: [AUSKLAPPEN] For J = 0 To 99
... Next |
||
Nokia 3650: Mit Blutooth, GPRS, Java, 4096 Farben, XXL Bildschirm und scheiß Tastatur. |
Flori-D |
Mo, Dez 22, 2003 14:07 Antworten mit Zitat |
|
---|---|---|
Ich weis nicht so genau wie ich das schiff(schiff(J,0)) bezeichnen soll, denn ich kann doch keine Schleife machen wenn es nur ein Schiff gibt oder? | ||
simi |
Mo, Dez 22, 2003 14:10 Antworten mit Zitat |
|
---|---|---|
Soweit ich das sehe hat ImagesOverlap nur 4 Parameter statt 6.
So wäre es richtig: ImagesOverlap(alienbild, Alien(I,1), Alien(I,2),schiffbild,schiff(J,1),schiff(J,2)) (Ich weiss ja nicht was die Variablen bedeuten, aber was ist J (Vielleicht I) ) Dann weiter unten, du kannst nicht AND gebrauchen um 2 Variablen den gleichen Wert zuzuweisen. Alien(I,0) = -1:schiff(J,0) = -1 cu simi |
||
Flori-D |
Mo, Dez 22, 2003 14:12 Antworten mit Zitat |
|
---|---|---|
probier ich mal(*gespannt sein*) | ||
Flori-D |
Mo, Dez 22, 2003 14:14 Antworten mit Zitat |
|
---|---|---|
ich glaub mein compiler hat ne make.
Der will bei schiff(J,0) in der Klammer noch anfürungsstriche. Was kann ich dagegen machen? Jetziger Code Code: [AUSKLAPPEN] ;Kollision Komet-Spieler
For I=1 To 50 If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff(J,1),schiff(J,2)) Then PlaySound(trefferton);Hier zeigt er immer Expecting")" Alien(I,0) = -1 schiff(J,0) = -1 EndIf Next So wo is das jetzt bitte der Fehler? (ich raffs nich ich scheine nur fehler zu machen) |
||
- Zuletzt bearbeitet von Flori-D am Mo, Dez 22, 2003 14:51, insgesamt einmal bearbeitet
RallimenSieger des 30-EUR-Wettbewerbs |
Mo, Dez 22, 2003 14:50 Antworten mit Zitat |
|
---|---|---|
Schick mal code , denn das kann nicht sein!
Ohne code ist es sehr schwierig zu beantworten wahrscheinlich ne Klammer vergessen oder so... |
||
[BB2D | BB3D | BB+]
|
RallimenSieger des 30-EUR-Wettbewerbs |
Mo, Dez 22, 2003 14:55 Antworten mit Zitat |
|
---|---|---|
hier liegt der fehler
Code: [AUSKLAPPEN] If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff(J,1),schiff(J,2)) Then
;muß so sein If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2),welches bild, schiff(J,1),schiff(J,2)) Then haste das Bild vergessen! |
||
[BB2D | BB3D | BB+]
|
Flori-D |
Mo, Dez 22, 2003 18:29 Antworten mit Zitat |
|
---|---|---|
so dann versuch ichs mal | ||
Flori-D |
Mo, Dez 22, 2003 18:32 Antworten mit Zitat |
|
---|---|---|
geht nicht
wenn ich starte dann kommt bei schiff(J,0) = -1 Expecting ")" aber da ust doch kein fehler mehr drinn Der Code Code: [AUSKLAPPEN] ;Kollision Komet-Spieler
For I=1 To 50 If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,schiff(J,1),schiff(J,2)) Then PlaySound(trefferton) Alien(I,0) = -1 schiff(J,0) = -1 EndIf Next |
||
Flori-D |
Mo, Dez 22, 2003 18:49 Antworten mit Zitat |
|
---|---|---|
Jo es läuft,allerdings nur fast!Ich hab das schiff in ein Dim-Feld gespeichert.Jetzt läufts an.Aber ich sehe dann nichts und dann kommt immer die Fehlermeldung "Array Index ot of Bounds".
So siehts jetzt aus Code: [AUSKLAPPEN] Dim schi(1,2)
Dim schiExplodiert(1,1) ;Kollision Komet-Spieler For I=1 To 50 For J=1 To 2 If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,schi(J,1),schi(J,2)) Then PlaySound(trefferton) Alien(I,0) = -1 schi(J,0) = -1 EndIf Next Next |
||
Flori-D |
Mo, Dez 22, 2003 18:54 Antworten mit Zitat |
|
---|---|---|
So hab noch was geändert, kann das Schiff jetztFliegen aber jeder Alien explodiert gleich wenn er ins Bild kommt,Hilfeeeeeeeeeee!
Code: [AUSKLAPPEN] Dim schi(1,2)
Dim schiExplodiert(1,1) For I=1 To 50 For J=1 To 1 If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,schi(J,1),schi(J,2)) Then PlaySound(trefferton) Alien(I,0) = -1 schi(J,0) = -1 EndIf Next Next |
||
RallimenSieger des 30-EUR-Wettbewerbs |
Mo, Dez 22, 2003 19:47 Antworten mit Zitat |
|
---|---|---|
bestimmt eine abrage vergessen, kannste nicht mal den ganzen code
posten? |
||
[BB2D | BB3D | BB+]
|
Flori-D |
Mo, Dez 22, 2003 19:59 Antworten mit Zitat |
|
---|---|---|
jo, aber nicht lachen.Ich habn nähmlivh nur sem buch mit meinem zeugs abgeändert, hab nicht die Zeit alles neu zuschreiben muss bis nach den ferien fertig sein.
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() hinter = LoadImage("stars.bmp") schiff = LoadImage("R4.bmp") alienbild = LoadImage("Rock1.bmp") rakete = LoadImage("bullet.bmp") explosion = LoadAnimImage("explodeA.bmp", 60,46, 0,6) schusston = LoadSound("soundfx11.wav") trefferton = LoadSound("soundfx25.wav") Dim Rak(100,2) Dim Alien(50,2) Dim AlienExplodiert(50,1) Dim schi(1,2) Dim schiExplodiert(1,1) X = 305 Y = 420 ; ; Hauptschleife ; Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter,0,H DrawImage schiff, X,Y ;Punkte Anzeige Text 10,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+10 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; ggf. Raketen zeichnen For I=1 To 100 If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf Next ; Pfeiltasten abfragen If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 ; Kollision testen For I=1 To 100 If Rak(I,0) <> 0 Then For J=1 To 50 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next ; Explosion Alien zeichnen For I=1 To 50 If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf Next ;Kollision Komet-Spieler For I=1 To 50 For J=1 To 1 If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,schi(J,1),schi(J,2)) Then PlaySound(trefferton) Alien(I,0) = -1 schi(J,0) = -1 EndIf Next Next ; Alien-Steuerung For I=1 To 50 If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 If Alien(I,0) <> -1 Then DrawImage alienbild, Alien(I,1), Alien(I,2) Next Flip Until KeyHit(1) |
||
RallimenSieger des 30-EUR-Wettbewerbs |
Mo, Dez 22, 2003 20:41 Antworten mit Zitat |
|
---|---|---|
Code: [AUSKLAPPEN] ;Kollision Komet-Spieler For I=1 To 50 For J=1 To 1 If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,schi(J,1),schi(J,2)) Then PlaySound(trefferton) Alien(I,0) = -1 schi(J,0) = -1 EndIf Next Next da drinne liegt der fehler mach das mal so Code: [AUSKLAPPEN] ;Kollision Komet-Spieler
For I=1 To 50 ;For J=1 To 1 <<< ist absolut über If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 schi(J,0) = -1 ;<< überflüssig da du den Schiff mit DrawImage schiff, X,Y EndIf ; immer zeichnest ;Next <<<und dies dann auch Next schi(J,1),schi(J,2) hier sind die werte immer = 0 deswegen explodieren deine feinde immer |
||
[BB2D | BB3D | BB+]
|
Flori-D |
Mo, Dez 22, 2003 20:46 Antworten mit Zitat |
|
---|---|---|
versuch macht kluch | ||
Flori-D |
Mo, Dez 22, 2003 20:50 Antworten mit Zitat |
|
---|---|---|
Jo,es geeeeeeeeeeeeeeeeht!
Daaaaaaaaaaaanke! Dachte schon ich bin jetzt total am Ende. Mss nämlich bis nach die ferien eine GANZE CD voller selbs geprogter Spiele meinem Informatik Lerer geben(wie ich das anstelle weis ich noch nicht, aber naja) |
||
Übersicht BlitzBasic Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group