PlaceDE-Official/zinnsoldat

Auf dem Canvas sehen welcher Pixel platziert wurde

opensource25 opened this issue · 4 comments

Ist es möglich, dass durch Klicken auf die Meldung bei welchen Koordinaten ein Pixel platziert wurde, dieser Pixel auf dem Canvas ausgewählt wird, um zusehen, woran genau man durch den Bot geholfen hat?

XCame commented

Habe da heute versucht was zu programmieren.

Bin aber an dem iframe und cross-origin gescheitert.

Wir müssten a die style Attribute der divs .position-container und .zoom-container in garlic-bread-camera

Und dort transform: und zoom: manipulieren.

Hat da jemand eine Idee da dran zu kommen?

Vielleicht könnten wir uns irgendwelche Events aus den embedded frames hängen?

Bin da nicht ganz so drin, aber wenn ich einen Pixel auswähle ändert sich die URL. Könnte man das darüber lösen?

https://www.reddit.com/r/place/?cx=669&cy=-439&px=62&screenmode=fullscreen
px scheint etwas über den zoom auszusagen

Bin da nicht ganz so drin, aber wenn ich einen Pixel auswähle ändert sich die URL. Könnte man das darüber lösen?

https://www.reddit.com/r/place/?cx=669&cy=-439&px=62&screenmode=fullscreen px scheint etwas über den zoom auszusagen

Diese Lösung ist tatsächlich möglich. Am besten ein neuen Toast und dem ein click listener geben.

onClick: () => location.href = `https://www.reddit.com/r/place/?cx=${x}&cy=${y}&px=18&screenmode=fullscreen`,

Dabei die x und y koordinate vom fetch mit in die funktion reingeben und als template string ranhängen.

Einziger Nachteil ist: Das Browserfenster wird neu geladen. Eleganter wäre das selbe Verhalten wie beim Klick. Aber daran bin ich bisher auch gescheitert

Um ohne neu laden der Seite zu einem Pixel zu navigieren kann folgender Code verwendet werden:

document.getElementsByTagName('garlic-bread-embed')[0].dispatchEvent(new CustomEvent("click-canvas",{bubbles: true, detail: {x:500, y:500}}))

Die obere linke Ecke des Canvas hat die Koordinaten (0,0).

Edit: Dazu muss aber auf den iframe zugegriffen werden, was wohl wegen CORS schwierig wird.