AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Einen Punkt auf der Form zur Maus bewegen...
Thema durchsuchen
Ansicht
Themen-Optionen

Einen Punkt auf der Form zur Maus bewegen...

Ein Thema von turboPASCAL · begonnen am 21. Nov 2005 · letzter Beitrag vom 22. Nov 2005
Antwort Antwort
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

Einen Punkt auf der Form zur Maus bewegen...

  Alt 21. Nov 2005, 00:21
Moin,

Also es ist mir echt peinlich, aber ich bekomme es nicht hin.
Ich habe einen Punkt auf einer Form (bzw. Bitmap) nun möchte ich diesen Punkt in Richtung Maus bewegen die sich über der Form befindet. Damit ihr wisst was ich mein' hänge ich mal ein Beispiel an.
Das soll jetzt aber nicht so Sprunghaft wie im Beisiel funktionieren, sondern eher "gemütlich", aber nur wenn die Mouse über die Form kommt.

Kann mir jemand helfen ? (mit ein bissel Code wäre nett)

[edit=turboPASCAL]Anhang gelöscht.[/edit]
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

Re: Einen Punkt auf der Form zur Maus bewegen...

  Alt 21. Nov 2005, 00:49
Du errechnest einfach beim bewegen der Maus den Winkel, in dessen Richtung der Punkt wandern muß, damit er auf den Pfeil zugeht.
Und diesen Winkel nimmst du und weiß ihn dem Punkt zu (für die Bewegung).
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Einen Punkt auf der Form zur Maus bewegen...

  Alt 21. Nov 2005, 01:04
Sorry, ich habe nur noch X,Y Plus und Minus im Kopf, habe mir mit Sqrt und Sin und Cos das Gehirn gemartert aber eine anständige Lösung kommt nicht.

Ich habe den Punkt X und Y sowie die akt. Direction also zB. dx = -1 und dy = 1 (Richtung nach Links unten), dazu kommt noch sie MausPos. (mx, my) auf dem Bitmap. Wie stelle iches an damit die Richtung auf die Maus zeigt ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#4

Re: Einen Punkt auf der Form zur Maus bewegen...

  Alt 21. Nov 2005, 01:12
Mit "Maus.X - Punkt.X" und "Maus.Y - Punkt.Y" hast du ja den Abstand und die Richtung zwischen den beiden Punkten (Punkt und Maus).
Daraus kannst du doch einen Winkel errechnen?

Und diesen Winkel nimmst du und berechnest damit die neue Bewegungsrichtung (dx und dy) für den Punkt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Einen Punkt auf der Form zur Maus bewegen...

  Alt 21. Nov 2005, 01:17
Zitat von himitsu:
Daraus kannst du doch einen Winkel errechnen?
Nein, ich bekomme es nicht gebacken.

Wie stelle ich das an ? (mal für Dumme)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

Re: Einen Punkt auf der Form zur Maus bewegen...

  Alt 21. Nov 2005, 01:26
Ich nehm gern ArcTan2 dafür ... erspart einem unnötiges rumhandtieren mit den inversen Sin/Cos-Funktionen
Winkel := ArcTan2(Y1 - Y2, X1 - X2); und mit den erhalten Winkel kannst du dann über Sin/Cos den neuen BewegungsVektor errechnen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Einen Punkt auf der Form zur Maus bewegen...

  Alt 22. Nov 2005, 10:28
Danke für deine Hilfe.

Lösung 1
Delphi-Quellcode:
RichtungX := (MouseX-AktPosX) / sqrt( sqr(MouseX-AktPosX) + sqr(MouseY-AktPosY) ) * Schrittlänge;
RichtungY := (MouseY-AktPosY) / sqrt( sqr(MouseX-AktPosX) + sqr(MouseY-AktPosY) ) * Schrittlänge;
Lösung 2
Delphi-Quellcode:
Winkel := ArcTan2(MouseX-AktPosX, MouseY-AktPosY);
RichtungX := Sin(Winkel) * Schrittlänge;
RichtungY := Cos(Winkel) * Schrittlänge;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz