![]() |
Problem mit Panel
yo hallo,
wie der Titel schon sagt habe ich ein Problem, zum Thema Panel. Fangen wir mal von Vorne an, ich soll über die Ferien ein Spiel programmieren und bin auch noch relativ unerfahren im Umgang mit Delphi und sonstigen Programmiersprachen. Im Grunde geht es bei diesem Spiel darum, dass ein Panel eine anderes treffen soll und dass man so Punkte bekommt, und genau da liegt das Problem. Hier ist mein bisheriger "Fortschritt" mit der Prozedur:
Delphi-Quellcode:
und so ist sie dann eingebracht:
procedure tform1.zaehlen;
begin x:=0; a:=1; if ((panel2.left>=224) and (panel2.left<=272) and (panel3.top>=0) and (panel3.top<=48)) then x:=a+x; edit1.Text:=floattostr(x); end;
Delphi-Quellcode:
kann mir bitte jmd. sagen warum das nich funkt?
procedure TForm1.Button3Click(Sender: TObject);
begin timer3.Enabled:=true; zaehlen(panel2,panel3,x,a); end; ich bedanke mich schonmal im vorraus für jd. helfende Antwort mfg |
Re: Problem mit Panel
Deine Procedure hat keine parameter.
Delphi-Quellcode:
So etwas in der Art:
procedure tform1.zaehlen;
Delphi-Quellcode:
Grüße
procedure tform1.zaehlen(P1,P2:TPanel;x,a:Integer);
Klaus |
Re: Problem mit Panel
naja die Parameter sind ja schon in der Sparte "private" eingebracht:
Delphi-Quellcode:
private
{ Private-Deklarationen } procedure gameover (timer1, timer2, timer3, timer4: TTimer; y: integer;button2, button3: TButton); !!!procedure zaehlen (panel2, panel3: Tpanel;x,a:integer);!!! procedure nextlevel (timer1, timer2, timer3, timer4: TTimer;button2,button3: TButton); public |
Re: Problem mit Panel
hallo.
du musst die auch unten bei deiner procedure im quellcode hinschreiben die parameter. gut wäre es auch noch wenn wir die fehlermeldungen wüssten die kommen. lg el |
Re: Problem mit Panel
ähhm...yo die parameter hab ich jez unten auch noch eingetragen, doch es geht immer noch nicht, das nächste Problem
ist das keine Fehlermeldung angezeigt wird. Das Programm an sich läuft, bloß dieser verflixte Zähler nicht und Koordinaten hab ich auch schon mehrfach überprüft. Gibt es nicht noch andere Möglichkeiten, das Zusammentreffen dieser 2 Panels als Bedingung schreiben??? |
Re: Problem mit Panel
Was macht denn eigentlich der timer3?
Und, was die anderen vergessen haben: Herzlich Willkommen in der Delphi-PRAXiS! |
Re: Problem mit Panel
yo danke erstmal für die begrüßung,
der timer3 ist für die Bewegung des Panel3 zustänig. PS: timer1&2 sind für das Panel2 und Timer 4 ist für eine "Uhr" |
Re: Problem mit Panel
Guten Morgen.
Ich verstehe allerdings nicht, was deine Zählen-Procedure machen soll. Poste doch mal etwas mehr Quelltext. |
Re: Problem mit Panel
Zitat:
Vllt liegt da dein Problem?! Wenn diese Anweisung mit von der Bedingung abhängig sein soll, muss nach dem THEN ein Block eingeleitet werden:
Delphi-Quellcode:
Hoffe ich konnte dir helfen. :)
if ((panel2.left>=224) and (panel2.left<=272) and (panel3.top>=0) and (panel3.top<=48)) then
begin x:=a+x; edit1.Text:=floattostr(x); end; Grüße.. |
Re: Problem mit Panel
@Jowo
die zählen Prozedur soll immer einen Punkt(in einem Edit-Feld) hochzählen wenn sich die beiden Panels berühren. @mace danke für die Antwort, das zählen funktioniert erstmal, doch dadurch ist ein neues Problem entstanden. x zählt solange um eins hoch, wie sich die panels berühren, aber ich möchte, dass es immer nur einen Punkt pro Berührung hochzählt. hat jmd. vielleicht ne Idee??? mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 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