Autor Beitrag
Borlox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 191

Win XP
Delphi 6 Enterprise
BeitragVerfasst: Mo 09.09.02 21:28 
Hallo Leute,

ich lerne gerade DelphiX! Ich habe mehrere Bilder in einer DXDraw und würde nun gerne wenn ich mit der Maus auf eines dieser Bilder klicke, dass dann immer bestimmte Dinge/Proceduren ausgeführt werden?

THX
Borlox
No
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 12.09.02 13:59 
musst du selber proggen, also ich mach das so:

Ich mal die Bilder(und jedes Bild hat ja eine X und y koordinate).

dann teste ich bei onmouse down vom DXDRAW einfach ob die Maus im
Bereich eines der gemalten Bilder liegt : also
ausblenden Quelltext
1:
2:
if x > Bild.X and x < Bild.x + Imagelist.items[z].width
if y > Bild.X and y < Bild.x + Imagelist.items[z].width

So das reicht für das meiste schon. Wenn dus noch genauer haben willst
also nicht nur das Viereck musst du danach einfach abfragen ob der Pixel auf den du geklickt hast die Transparente Farbe des Bildes ist, Falls ja brichst du die Prozedur ab.

(25.09.02 22:46 Tino) Code-Tags hinzugefügt
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Mi 25.09.02 18:15 
Titel: oder
das ist ein Teile vom Snake 2 qullcode.
das Spiel kann man sich ohne qullcode von meiner HP(mimi.lk4.de) runterladen
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.DXDrawMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  I:Integer;
begin
  SnakeMenu.S:=False;
  DXDraw.Cursor:=crDefault;

  if (isGameOver = True) and (isMenu = False) then
    DXDraw.Cursor:=crHandPoint
  else begin
    DXDraw.Cursor:=crDefault;
    SnakeMenu.MenuIndex:=-1;
    for i:=SnakeMenu.Items[SnakeMenu.Menu].MenuStart to SnakeMenu.Items[SnakeMenu.Menu].MenuItemsCount do begin
      if (y > SnakeMenu.Items[SnakeMenu.Menu].MenuItems[i-SnakeMenu.Items[SnakeMenu.Menu].MenuStart].Y) and (x > SnakeMenu.Items[SnakeMenu.Menu].MenuItems[i-SnakeMenu.Items[SnakeMenu.Menu].MenuStart].x) and (y < SnakeMenu.Items[SnakeMenu.Menu].MenuItems[i-SnakeMenu.Items[SnakeMenu.Menu].MenuStart].Y1) and (x < SnakeMenu.Items[SnakeMenu.Menu].MenuItems[i-SnakeMenu.Items[SnakeMenu.Menu].MenuStart].x1) then begin
         SnakeMenu.MenuIndex:=i-SnakeMenu.Items[SnakeMenu.Menu].MenuStart;
         SnakeMenu.S:=True;
         DXDraw.Cursor:=crHandPoint;
         Break;
      end;
    end;
  end;
end;

ich hoffe du verstht wie ich das menue gemacht habe !!!!!

(25.09.02 22:48 Tino) Code-Tags hinzugefügt