Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

CookieWarrior

Frischling

  • »CookieWarrior« ist der Autor dieses Themas

Beiträge: 37

Beruf: Schüler

  • Private Nachricht senden

1

05.07.2011, 19:18

Mauszeiger in einem Kreis halten

Hallo Community,

wie realisiere ich , dass die Maus in einem vordefinierten Kreis bleibt.
Ich will damit erreichen, dass man nicht das Ziel anvisieren wofür die Reichweite der Waffe nicht langt.

Vielen Dank im Voraus.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

05.07.2011, 19:21

Distanz zum Mittelpunkt berechnen und in richtung Mittelpunkt verschieben wenn sie zu größer als der Radius ist?!
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

05.07.2011, 19:22

1) Vektor vom Zentrum zur Maus erstellen
2) Dessen Länge berechnen
3) Falls länger als der Radius, dann Vektor skalieren mit dem Faktor Radius/Länge
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

CookieWarrior

Frischling

  • »CookieWarrior« ist der Autor dieses Themas

Beiträge: 37

Beruf: Schüler

  • Private Nachricht senden

4

05.07.2011, 19:24

Ja mein Problem ist ich weiß nicht wie ich X und Y Koordinaten also genau genommen die Entfernung zum Mittelpunkt zu einem Radius zusammen rechnen. Könnte mir jemand da eine genaue Formel nennen?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

05.07.2011, 19:25

Stichwort: Euklidische Norm
Wahlweise: Pythagoras
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

CookieWarrior

Frischling

  • »CookieWarrior« ist der Autor dieses Themas

Beiträge: 37

Beruf: Schüler

  • Private Nachricht senden

6

05.07.2011, 19:29

Okay Danke werd ich mir mal anschauen.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

7

05.07.2011, 19:41

Allerdings würde ich die Maus nicht niemals vom Programm bewegen lassen, das find ich eklig. Färbe den Cursor vllt. rot oder etwas in der Art, dann ist der Spieler noch "frei" und kriegt trotzdem die Info, dass er nicht treffen kann.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

CookieWarrior

Frischling

  • »CookieWarrior« ist der Autor dieses Themas

Beiträge: 37

Beruf: Schüler

  • Private Nachricht senden

8

05.07.2011, 19:48

Ja stimmt das halte ich jetzt auch mal für die einfachste Lösung für mich^^
Das andere check ich noch nicht so ganz^^

CookieWarrior

Frischling

  • »CookieWarrior« ist der Autor dieses Themas

Beiträge: 37

Beruf: Schüler

  • Private Nachricht senden

9

05.07.2011, 20:17

So ich benutze hab jetzt folgende Formel die funktioniert aber leider irgendwie nicht habt ihr eine Idee warum nicht:

((mx - px)*(mx - px) + (my - py)*(my - py)) * (((mx - px)*(mx - px) + (my - py)*(my - py))/2) <= 60.f

mx und my sind die Koordinaten für den Mittelpunkt und
px und py sind die Koordinaten für die Mausposition und
20.f ist der Radius des Kreises.

10

05.07.2011, 20:25

probier es mal mit

Quellcode

1
2
3
float r=20.0f;
if (((mx-px)*(mx-px)+(my-py)*(my-py))<=r*r)
//....

Zitat

Basically, there are only 10 types of people in the world. Those who know binary, and those who don't.

Werbeanzeige