AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mausbewegung => Bildbewegung...

Ein Thema von NeoDeluxe · begonnen am 18. Feb 2003 · letzter Beitrag vom 21. Feb 2003
 
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.259 Beiträge
 
Delphi 2006 Professional
 
#10
  Alt 20. Feb 2003, 16:49
Zitat von NeoDeluxe:
Soooooooooooooooooooooooooooooooooooooong! Sorry, hab nichts kapiert kannst du bitte etwas genauer erklären.=>Quelltext
Danke.

Grüße NeoDeluxe

Na gut... hier der Quelltext (ist nur so auf die schnelle geschrieben)

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
var
 bild_mitte : TPoint;
 min_abstand : Int64;
 abstand,
  dif_x,
  dif_y : Extended;
 links,
  oben : Integer;
begin
 bild_mitte.x := Image1.Left + (Image1.Width div 2);
 bild_mitte.y := Image1.Top + (Image1.Height div 2);
 min_abstand := 300;
 links := 0;
 oben := 0;
 dif_x := bild_mitte.x - x;
 dif_y := bild_mitte.y - y;
 if (dif_x < 0) then
  begin
   dif_x := dif_x * -1;
  end;
 if (dif_y < 0) then
  begin
   dif_y := dif_y * -1;
  end;
 abstand := Round(sqrt((dif_x * dif_x) + (dif_y * dif_y))); //Abstand der Maus zum Bild;
 if (abstand < min_abstand) then
  begin
   if (y <> bild_mitte.y) then
    begin
     if (y < bild_mitte.y) then
      begin
       oben := -1;
      end
     else
      begin
       oben := +1;
      end;
    end;
   if (x <> bild_mitte.x) then
    begin
     if (x < bild_mitte.x) then
      begin
       links := -1;
      end
     else
      begin
       links := +1;
      end;
    end;
   image1.Left := image1.left - links;
   image1.top := image1.top - oben;
  end;
end;
Was ich mache:

Ich ermittele den Mittelpunkt des Bildes.

Delphi-Quellcode:
 bild_mitte.x := Image1.Left + (Image1.Width div 2);
 bild_mitte.y := Image1.Top + (Image1.Height div 2);
Dann berechen ich die entfernung zur maus:
 abstand := Round(sqrt((dif_x * dif_x) + (dif_y * dif_y))); //Abstand der Maus zum Bild; Satz des Pyt: a² + b² = c²

Und jetz prüfe ich nur noch ob die Maus oberhalb, unterhalb, links oder rechts vom Bild ist und verschiebe es entsprechend.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 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