![]() |
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Das war eine vereinfachte Betrachtungsweise, wo es nur darum ging, wie man die Kollisionsüberwachung der Figuren vereinfachen kann. Du musst das Konzept in deine Klassen einbauen.
Was damit gezeigt werden sollte, wie man mit Vererbung den Code einfacher hält. CopyPaste funktioniert da nicht |
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Ohoh... Lege dir doch bitte erst mal die Grundlagen zu. Ich glaube, du hast da einige Defizite udn es ist schwer dir dann richtig zu helfen.
Der Code von Sir Rufo funktioniert und das auch mit Delphi 7. Die Typdeklarationen kommen in den Type-Deklaration über den implementation-Teil. Und der Code gehört in den implementation-Teil, also darunter. Aber nur Copy&Paste ist halt nicht, es gehört auch dazu den Code zu verstehen, denn du musst schon noch ein wenig drum herum programmieren, sodass der Code von Sir Rufo komplett funktioniert. [add] Wo war die rote Box? :shock: |
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Klar geht das, man muss nur noch die fehlenden Methoden implementieren und die fehlenden Variablen deklarieren.
[edit] Zitat:
|
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Liste der Anhänge anzeigen (Anzahl: 1)
[OT]
Hab das mit der roten Box mal gegoogelt. Scheinbar macht die gerade in Spanien Urlaub. Siehe Foto :-D [/OT] |
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Zitat:
Ja dann ist das klar ^^ Ich werds versuchen wenn ich wieder von der Schule da bin, muss jetzt wieder weg :( Zitat:
|
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Zitat:
Sollte ein Insider-Witz bzgl. der Bemerkungen zur roten Box in den vorhergegangenen Posts sein. Daher auch mit Pseudo-Off-Topic-Tags gekennzeichnet. Sorry, wenn ich dich damit irritiert haben sollte. Nur falls nicht bekannt: Die rote (Warn-)Box sollte immer dann kommen, wenn du einen Post abschickst aber es bereits neue Posts gab, während du noch geschrieben hast. |
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Habe mich jetzt erstmal an die Bewegung und das abprallen der Gegner gesetzt:
Delphi-Quellcode:
Leider funktioniert das nicht ganz. Die Gegner prallen manchmal ab und manchmal nicht und ich
procedure TForm1.Timer2Timer(Sender: TObject);
var m,l,k,links,rechts,oben,unten,Geschwindigkeit:Integer; begin //Gegner bewegen If length(Gegner)>=1 Then begin For l:= 0 to length(gegner)-1 do begin If Gegner[l].width > Gegner[l].height Then begin //Wenn Gegner waagrecht ist Gegner[l].Left:=Gegner[l].left + Gegner[l].speed; for k := 0 to high(Gegner) do begin links := Gegner[k].left; if links <= 0 then begin Gegner[k].speed := Gegner[k].speed * -1; end; if Links + Gegner[k].Width >= Form1.clientwidth + Gegner[k].left then begin Gegner[k].speed := Gegner[k].speed * -1; end; end; end; If Gegner[l].width < Gegner[l].height Then begin //Wenn Gegner senkrecht ist Gegner[l].top:=Gegner[l].top + Gegner[l].speed; for m := 0 to high(Gegner) do begin oben := Gegner[m].top; if oben <= 0 then begin Gegner[m].speed := Gegner[m].speed * -1; end; if oben + Gegner[m].Height >= Form1.clientheight then begin Gegner[m].speed := Gegner[m].speed * -1; end; end; end; end; end; end; verstehe nicht warum. Kann mir jemand sagen, was ich falsch mache ? Ich kann euch auch nochmal das Projekt hochladen, damit ihr es euch mal anschauen könnt. |
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Ich hab's mir letztens auch mal angeschaut, kapier' das Spiel aber leider nicht. Mir ist auch aufgefallen, daß du von fünf Timer benutzt mit einem Intervall von 1 ms. Der Sinn dieser Timer war mir auch nicht klar.
Auch das könnte weiterhelfen: ![]() |
AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Das hat mir sehr geholfen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz