Ich habe eine Leinwand, die gestreckt ist, seit ich ein Sandbox-Spiel mache. Ich kann nicht die normale Methode zur Erkennung des Pixels auf der Seite verwenden, auf die ein Canvas geklickt wird, weil ich wissen muss, auf welches Stretch-Pixel geklickt wurde. Hoffentlich macht das Sinn?Wie erkennt man, wo auf eine Leinwand geklickt wurde?
Antwort
Alles, was Sie tun müssen, ist die Position auf der Grundlage Ihrer aktuellen Leinwandgröße und der ursprünglichen Leinwandgröße zu skalieren.
function scaleCursorPoint(int mouseX, int mouseY, ctx) {
return {
x: mouseX * (ctx.canvas.width/ctx.width),
y: mouseY * (ctx.canvas.height/ctx.height)
};
}
ctx
(die mit canvas.getContext('2d')
erhalten wird, hat die Breite des ursprünglichen ungereckten. ctx.canvas
das ursprüngliche canvas
DOM-Element erhält. ctx.canvas.width
die Größe des DOM-Element ist (die gedehnten Größe).
unterteilen den Zwei und Sie erhalten den Maßstab Wert dann nur mehrere dieser Skala Wert mit den Punkten, die Sie haben und Sie sind gut
Danke! funktioniert perfekt –
@InvincibleBlaze Wenn es die Antwort ist, klicken Sie bitte das Häkchen unter der Nummer, damit andere, die auf diese Frage stoßen, die Antwort auch wissen. Froh, dass es funktioniert. =) – samanime
- 1. Wie erkennt man, auf welche Schaltfläche geklickt wurde? (MVVM)
- 2. Wie erkennt man, auf welches einheitliche Raster geklickt wurde?
- 3. Wie erkennt man Spielpunkte auf Leinwand?
- 4. Wie erkennt man, wenn eine Benachrichtigung abgewiesen wurde?
- 5. So wählen Sie das listviewitem, wo eine Schaltfläche geklickt wurde
- 6. Position Handle, wo es auf die Trackbar geklickt wurde
- 7. Wie erkennt man, wie oft eine Taste nacheinander gedrückt wurde?
- 8. , wie man Zeichen auf Leinwand gezogen erkennen
- 9. Bericht, der geklickt wurde, wenn geklickt wurde
- 10. Wie erkennt man, welche Option ausgewählt wurde?
- 11. Wie erkennt man in jquery, welches Button Element in einer PHP-Schleife geklickt wurde?
- 12. Suchen, wenn etwas auf Formular geklickt wurde
- 13. Wie erkennt man, auf welche Schaltfläche auf integrierte UIAlertViewController-Warnungen wie Standortberechtigungswarnung in iOS10 geklickt wird?
- 14. finden, wenn ‚Abbrechen‘ wurde auf Dateieingabe geklickt
- 15. ACE-Editor: Wie erkennt man, welcher Block geändert wurde
- 16. UITableView - Wie erkennt man eine Abwahl?
- 17. Zeige Position, wo geklickt wird
- 18. Wie ändert man eine Eigenschaft einer Schaltfläche entsprechend der Schaltfläche, auf die geklickt wurde?
- 19. Wie erstellt man nur eine Prozedur, die die Hintergrundfarbe der Beschriftung ändert, auf die geklickt wurde?
- 20. Wie viert man eine webGL-Leinwand?
- 21. Wie man erkennt, ob ein Schlüssel in Love2d freigegeben wurde
- 22. Auf welches Segment einer Polylinie wurde geklickt?
- 23. Wie erkennt man, wo ein Memory Leak ist?
- 24. Nichts wurde geklickt - php
- 25. Django wie erkennt man, ob ein Formularfeld ausgefüllt wurde?
- 26. elixir String.split/3: wie man erkennt, welches Zeichen gefunden wurde
- 27. Wie kann man wissen, welches Element geklickt wurde
- 28. Wie erkennt man, ob ein PNG mit PhotoShop bearbeitet wurde?
- 29. UICollectionView: Wie erkennt man, wenn der Bildlauf gestoppt wurde
- 30. Wie man eine Leinwand Größe ändern
Einige Code wäre schön – TheGuyWhoCodes
Erstens, bearbeiten Sie Ihre Frage, um ein ausführbares Snippet enthalten, die die grundlegende Umgebung benötigt um was zu tun du willst. Als nächstes zeigen Sie uns, was Sie bisher versucht haben und erklären Sie, warum es für Ihre Situation nicht funktioniert. In [Hilfecenter] (http://stackoverflow.com/help/mcve) finden Sie weitere Informationen darüber, wie Sie eine bessere Frage stellen und bessere Antworten erhalten. –