Autor Beitrag
Affje
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Mi 26.03.03 20:53 
hi

ich bastle grad an einem programm, bei dem ein label immer in einem raum 'rumfährt'. dieses label muss man mit einem anderen label abstoßen. wie kann ich das jetzt machen, dass wenn sich die 2 labels berühren, dass sie sich abstoßen????
danke im voraus.

Mfg affje
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Mi 26.03.03 21:10 
Hallo Affje!

Da ist ganz einfache Mathematik. Du nimmst einfach an das ein Label ein Viereck ist. Die Größe des Vierrecks bekommst du mit Height und Width raus. Nun musst du nur noch berechnen ob Sie ineinander gehen.
Ich hoffe du kommst damit klar! Wenn nicht, schreib einfach nochmal!

Gruß wulfskin!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.


Zuletzt bearbeitet von wulfskin am Mi 26.03.03 21:45, insgesamt 1-mal bearbeitet
Affje Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Mi 26.03.03 21:31 
danke
Affje Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Do 27.03.03 16:28 
nein leider komme ich nicht damit klar!!!!
ich verwende für die beweungen 4 timer, jeder für eine einzelne richtung.
da ist mal der sourcecode:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, Menus;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    Timer2: TTimer;
    Timer3: TTimer;
    Timer4: TTimer;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    Start: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure StartClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  speed: integer;
implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.left:=label1.left + 20;
if label1.left > 952 then begin
                        label1.left:=888;
                        timer1.Enabled:=false;
                        timer2.Enabled:=true;
                end;
        end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
label1.left:=label1.left - 20;
if label1.left < 0 then begin
                        label1.left:=0;
                        timer2.Enabled:=false;
                        timer1.enabled:=true;
                end;
        end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
label1.Top:=label1.Top - 20;
if label1.Top < 8 then begin
                        timer3.Enabled:=false;
                        timer4.Enabled:=true;
                end;
        end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin
label1.Top:=label1.Top + 20;
if label1.Top > 624 then begin
                        timer4.Enabled:=false;
                        timer3.Enabled:=true;
                end;
        end;

procedure TForm1.Button1Click(Sender: TObject);
begin
label2.left:=label2.left - 40;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
label2.left:=label2.left + 40;
end;


procedure TForm1.StartClick(Sender: TObject);
begin
timer1.enabled:=true; timer3.Enabled:=true;
start.visible:=false;
button1.enabled:=true;
button2.Enabled:=true;
end;

end.



Moderiert von user profile icontommie-lie: Code-Tags hinzugefügt