![]() |
Re: Koordinaten von einer Grafik
aha...jetzt gehts, aber es ist ein eigenartiges Fähnomen aufgetretten. Wenn ich treffe, erscheint die showmessage "Getroffen" immer 4 mal, also man muss 4 mal auf ok klicken. Woran kann das denn liegen ??? Irgentwie merkwürdig. Lieg das am Timer.
Hier nochmal der Code des Timers.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin BlockInput(true); image2.Top:=image2.Top+feuer; if (image2.top>image3.top) and(image2.top<image3.top+image2.Height) and (image2.left>image3.left) and(image2.left<image3.left+image3.width) then begin showmessage('Getroffen'); end; if image2.top<0 then begin repeat image2.Top:=image2.Top+zuruck; until image2.top=216; image2.Picture := nil; BlockInput(false); timer1.Enabled:=false; end; end; |
Re: Koordinaten von einer Grafik
Kann es sein das dein Baken der getroffen wird 4 pixel breit ist ?
wenn es getroffen ist, dann solltest du den schusstimer abbrechen. sonst läuft der schuß ja auch durch, also noch mal im Detail: dein Balken: y1 ############### y2 ############### y3 ############### y4 ############### also wen dein Schuß nun auf y4 trifft, zeigt er getroffen. doch der timer läuft weiter und der schuß trifft y3 und wieder getrofeen.. etc etc... |
Re: Koordinaten von einer Grafik
stimmt, das habe ich gar nicht bedacht. Also muss ich den Timer einfach abschalten, wenn getroffen wurde ???
Hört sich ja leicht an, ich habe schon gedacht, dass mein ganzes Programm voller Fehler ist :wink: |
Re: Koordinaten von einer Grafik
Keine Sorge, das wird Später noch Kompliziert genug :)
Naja wenn du noch Fragen hast, du kennst ja das Board ;) |
Re: Koordinaten von einer Grafik
Liste der Anhänge anzeigen (Anzahl: 1)
Jo stimmt, die meisten Antworten hab ich auch schon hier her (also von DP) bekommen.
Aber nochmal zu meinem Shooter. Nach längerer Zeit der benutzung ist mir aufgefallen, dass das mit der Abfrage immer noch nicht so richtig geht. Also besser gesagt mal gehts mal nicht. Wenn man startet, kommt als erstes das Fenster mit getroffen. Wenn man das Wegklickt, und schieß und trifft kommt kein Fenster. Und so geht das halt weiter. Ich finds echt komisch und glaube das das an meinem übrigen programmierten lieg, und nicht an der Procedur von "euch". Ich hab jetzt so viel eingefüg und verändert, der Code hat göaube ich seht gelitten :wink: Ich habe die Exe mal angehängt. Ihr könnt ja mal schaun was ihr davon haltet. |
Re: Koordinaten von einer Grafik
Naja den Gnazen Code schaue ich mir nicht an, ich bin nur hier um denkt ansätzte zu geben.
Ehrlich gesagt ist es mir zu viel Arbeit den gesammten Source anzusehen, denn es gibt immer viele wege etwas zu Progrmmieren, und wie es schon in einer Signatur eines Mitgliedes hier steht: Source ist wie Kunst, Hauptsache der Künstler versteht sie. also, hast du den Timer auch wieder angeschmissen ? ich gebe dir noch mal ein kleinen tipp. packe dir ein paar TEdit felder auf die frorm, irgendwo am Rand, und gebe dir werte des schusses, und des balken drauf, dann haste einen ansatz zur fehlersuche |
Re: Koordinaten von einer Grafik
Hallo nochmal, hatte in den letzten Tagen wenig Zeit zum Antworten.
mhhh, eigentlich müsste der Timer wieder eingeschaltet werden, wenn ich mich nicht ganz irre. Am Ende von dem Timer (Der Code steht ja in mehreren Beiträgen von mir) wird der Timer deaktiviert wenn das Feuerimage oben am Form angekommen ist. Aktiviert wird der Timmer wieder wenn man auf die Linke Maustaste drückt, denn da muss ja auch kontrolliert werden ob das Feuerimage mit dem Kastenimage zusammentrift. Also müsste der Timer wieder aktiviert werden, wenn es nicht schon wo anders hackt. PS: Die Datei die ich im letzten Beitrag angehängt hatte inthält nicht den Code, sonder die Exe. Die ja schon so halbwegs läuft, ich betone halbwegs :wink: |
Re: Koordinaten von einer Grafik
Soooooo, ich hab endlich geschafft, dass die Abfrage vernümpftig läuft und auch erst dann getroffen meldet, wenn die beiden Objekte zusammen getroffen sind. Also ich möchte hier nicht den Code von euch abschreiben, aber er hat bei mir halt nicht so funktioniert, wie ich es wollte.
Aufjedenfall hab ich meinen Shooter jetzt erfolgreich fertiggestellt. Falls es euch interessiert, wie die Function für das zusammentreffen aussah, müsst ihr mal hier schaun: ![]() Zuletzt möchte ich mich noch bei allen bedanken, die versucht haben mir zu helfen :hello: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 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-2025 by Thomas Breitkreuz