Autor Beitrag
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 06.10.02 04:26 
Hi,
ich habe hier ein Problem, was mich schon Stunden nun gekostet hat.
Also: Ich bastel ein kleines Ballerspiel. Die beiden Flugzeuge können umherfliegen, das blaue mit den Pfeiltasten, das gründe mit wasd. Links und Rechts = a und d = Drehung, Oben = w = Feuer. Die Geschosse fliegen auch munter auf dem Bildschirm rum.
Soweit so gut. Nun kommt aber der part, in dem gecheckt werden soll, ob eins der Geschosse ein Flugzeug getroffen hat.
Easy denk ich mir, DoCollision überschreiben und bei DoMove collision aufrufen.
Aber nichts ist, das will einfach nicht so wie ich es will.
Bitte, helft, ich habe an dem Problem nun schon weitaus länger gesessen als an dem Rest des bisherigen Programmes.
Um euch ~180 Zeilen Source zu ersparen hab ich einfach mal den Projektordner bis auf die Exe hochgeladen:
www.philiplb.de/PlaneArena.zip
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: So 06.10.02 11:46 
Hi
hast du dir schon das Sprite-Beispiel2 von DelphiX angeschaut, dort ist das alles verwirklicht, und funktionier auch sehr gut, soweit ich weis muss du auch PixelCheck anmachen, sonst werden die Sprites als Rectangles behandelt

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
Alibi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 06.10.02 14:58 
Hi, Pixelcheck bei den beiden Fliegern ist an, aber bei den Bullets war er es nicht. Das hab ich nun geändert:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
        with TBullet.Create(Form1.SpriteEngine.Engine) do begin
          Image := Form1.Images.Items[1];
          Width := Image.Width;
          Height := Image.Height;
          X := Self.X + 3;
          Y := Self.Y;
          Z := 1;
          [b]Pixelcheck := true;[/b]
          Angle := Self.Angle;
        end;

Nun ist bei allen Sprites auf dedm Feld Pixelcheck an und geht immer noch nicht.
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: So 06.10.02 17:28 
und was ist mit Beispiel abkupfern? (siehe oben)

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
Alibi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 06.10.02 18:21 
Also ich hab gestern um und bei 10 Beispiele aus den verschiedensten Tutorials ausprobiert und in meinen Augen einwandfrei übertragen.

Kann es sein, dass es daran liegt, dass ich die DoDraw Methode überschreibe und da eine eigene mit DrawRotate benutze?
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Mo 07.10.02 15:33 
meep Feher gefunden, bei DrawRotate(Alpha) ist Pixelcheck nicht funktionstüchtig meep

Du muss es mit dem normalen Draw machen, oder eine eigene Kollisionserkennung schreiben

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
Alibi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Mo 07.10.02 15:44 
Hm, doof.
Naja, dann wohl cya DelphiX, welcome GLScene. :)
Danke für die Hilfe.
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Mo 07.10.02 19:26 
kannst du das Drehen denn nicht als Bild machen?
Und eins sag ich dir In OpenGl iss das einiges schwieriger!!!

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
Alibi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Mo 07.10.02 21:23 
Naja, GLScene macht n recht guten Eindruck.

Und ist irgendwie n bisschen aufwendig für jeden Drehzustand ein Bild zu haben.

Naja, also für Lösungen einer eigenen Kollisionsroutine wär ich natürlich offen. ;)