Entwickler-Ecke

Multimedia / Grafik - 2 Fragen zum Thema Scrollen und Zusammenstoße prüfen


mimi - Mo 03.02.03 14:45
Titel: 2 Fragen zum Thema Scrollen und Zusammenstoße prüfen
Hallo,

ich habe mehre Fragen:

1: Wie kann ich mit einem array[0..20] of TPoint Scrollen? (Mit einem array[0..MapX,0..MapY] of TGame habe ich es geschaft)

2: Wie kann ich zusammenstöße prüfen? Ich habe wie in Frage 1 einen array[0..20] of TPoint. und will jetzt prüfen ob mein Player mit ein Objekt was in den array gespeichert wurde zusammen gestoßen ist !

ich arbeite mit "DelphiX" und "Delphi 5 Standart"

Kennt einer Tutors oder Dokus ?


maximus - Mo 03.02.03 16:14

Hi mimi,

zu 2.
mit PointInRect machste das. Etwa so PointInRect(bla[0],sprite.getDrawRect); glaub ich!

leuten aus Oldenburg hift man doch immer gerne...hab da auch mal gelebt :)

mfg mx


mimi - Mo 03.02.03 16:24

ich lebe dort immer noch;)
aber ich mache das ohne Sprints;)
hast du da auch eine idee ?
ich habe nur einen array[0..20] of TPOint z.B

wie geht das da genau ?


maximus - Mo 03.02.03 16:28

in welcher form sind die objekte denn gespeichtert...bzw ist dein player nur ein punkt?


edit: aja jetzt seh ichs: player und objekte sind nur punkte!? Da musst du halt sämlicht punkte auf gleichheit prüfen. Allerdings is die wahrscheinlichkeit recht gering, dass sich zwei objecte direkt übereinander befinden. Du könntest erstmal ein temporäres Rect erstellen (oder 2 für beide), da dein player bzw. dein objekt ja sicherlich Width und height hat (oder dir die werte dafür bekannt sind).

Dann mit ClipRect oder IntersectRect prüfen ob was geht :)

mfg mx


mimi - Di 09.12.03 14:03

ich hab das problem wieder:
ich möchte eine karte haben die größer ist als der monitor nämlich:
50X21(jedes kasten ist 16X16 groß)
könnte mir wer ein beispiel fürs zeichnen und fürs setzten der größe geben ??
danke.

achja: ich arbeite mit GLXTreem, aber das dürft egal sein.


mimi - Mi 10.12.03 12:42

am liebsten hätte ich eine procedure die sich um das scrollen kümmert, aber nur wie geht das ???
jetzt habe ich hier probleme:

Delphi-Quelltext
1:
2:
  for i:=0 to High(Player.Players) do
    GLXImageList.Items[2].Draw( Player.players[i].X - Player.players[i].scrollX*MapS,Player.players[i].Y*MapS,Player.players[i].tex );

dort wird der player gezeichnet(habe mehre davon) aber wie kann ich sie so zeichnen, das sie im sichtbereich ist ???