2017-03-21 2 views
0

Ich habe ein Problem, das X und Y eines Canvas zu bekommen. Also ursprünglich ist das meine Leinwand.Wie bekomme ich das X und Y eines Zoom-Canvas p5.js

enter image description here

Und ich bin mit einem Skala() meine Leinwand zu vergrößern, und wenn ich es verwenden, wird es so geworden.

enter image description here

Mein Ziel ist es, die X und Y dieses Teils meiner gezoomt Leinwand

enter image description here

I zu erhalten versucht, die die Breite und Höhe meiner Leinwand zu bekommen, aber ich kann zeige das Objekt, das ich finde, nicht auf dem gezoomten Canvas an. Ich muss es verkleinern, nur um es zu zeigen. Ich möchte das X und Y dieses Teils meiner Leinwand erhalten, damit ich auch nur die Leinwand vergrößern oder verkleinern kann, sie bleibt dort. Wie kann ich das machen? Vielen Dank.

+0

Wie genau verwenden Sie Lerp zum Zoomen? –

+0

@MasterYushi Ich habe die Frage aktualisiert, ich habe ** scale() ** benutzt, um zu zoomen und ** lerp() ** benutzt, um sie zu glätten. – Rich

Antwort

1

Dieser Wert ist nur width/scale, oder?

Denken Sie darüber nach: Wenn Ihre Leinwand 1000 Pixel breit ist und Sie dann scale(2) anrufen, welche Koordinaten befinden sich in der oberen rechten Ecke? Da Sie um 2 skaliert haben, ist die neue Koordinate 500, also 1000/2 oder width/scale. Beachten Sie, dass Sie den Skalenwert selbst verfolgen müssen.

Ich bin ziemlich sicher, dass dieses Muster hält, egal was die Breite oder Skala ist. Ich würde empfehlen, einige Beispielprogramme zusammenzustellen, um zu testen, ob der Punkt dort auftaucht, wo Sie es erwarten. Wenn nicht, poste bitte eine MCVE und wir gehen von dort.

Verwandte Themen