kollision mit types

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

sldier

Betreff: kollision mit types

BeitragSo, Nov 07, 2004 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

befor ich viel schreibe erst das script

Code: [AUSKLAPPEN]

Dim feld(800,600)

For x = 1 To 800
For y = 1 To 600
feld(x,y) = 0
Next
Next

Type tropfen
Field x
Field y
End Type

...

For wasser.tropfen = Each tropfen
DrawImage  rot$,wasser\x, wasser\y
Next



und ich hab 2tes bild (blau$)

wie teste ich diese beiden (rot$ - können mehrere hundert sein) und blau$ auf kollision?

mit

If ImagesCollide(rot$,wasser\x,wasser\y,0,blau$,x,y,0) Then...

gehts nicht

BladeRunner

Moderator

BeitragSo, Nov 07, 2004 23:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Damit sollte es schon gehen- du musst nur auch alle Instanzen durchlaufen:
Code: [AUSKLAPPEN]
For wasser.tropfen = Each tropfen
DrawImage  rot,wasser\x, wasser\y
If ImagesCollide(rot,wasser\x,wasser\y,0,blau,x,y,0) Then...
Next


So sollte es ohne weiteres gehen.
Nur eines: ImageHandles sind Integer, keine Strings. Also: rot% anstatt rot$ (wobei du auf das % verzichten kann, dass nimmt BB automatisch als Typ wenn nix andres da steht).
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Mr.Keks

BeitragSo, Nov 07, 2004 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
mal abgesehen davon, dass deine problembeschreibung nicht wirklich ausreichend ist:

1. imagehandels speichert man nichts in string$, sondern in integern%.... also nicht rot$, sondern rot oder rot%! kann sein, dass es so auch geht, aber es ist nicht gut.
2. If ImagesCollide(rot$,wasser\x,wasser\y,0,blau$,x,y,0) muss in die for-next... vielleicht ist es dir klar, aber das hast du ja leider alles nicht gesagt.

och mennö, zu lahm =)
MrKeks.net
 

sldier

BeitragSo, Nov 07, 2004 23:23
Antworten mit Zitat
Benutzer-Profile anzeigen
memory access violation

kommt dann

der code könnte euch auch noch helfen fällt mir grad ein ...

Code: [AUSKLAPPEN]

If MouseDown(1) Then
wasser.tropfen = New tropfen
wasser\x = MouseX()
wasser\y = MouseY()
EndIf


PS: danke für die info

###############
sorry mein fehler ist behoben

danke an alle
  • Zuletzt bearbeitet von sldier am So, Nov 07, 2004 23:25, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragSo, Nov 07, 2004 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
schalt mal den debugger ein damit du vernünftige Fehlermeldungen erhälst.
kannst du Drawimage rot,0,0 machen? (sprich: ist die Datei geladen?)
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group