2016-10-17 47 views
0

我有一個畫布,因爲我正在製作一個沙盒遊戲。我無法使用普通方法檢測畫布點擊的頁面上的像素,因爲我需要知道單擊了哪個拉伸像素。希望這是有道理的?如何檢測拉伸的畫布被點擊的位置?

+1

一些代碼會很好 – TheGuyWhoCodes

+0

首先,編輯你的問題,包括一個可運行的代碼片段,設置所需的基本環境做什麼y你想要。接下來,向我們展示您迄今爲止所嘗試的內容,並解釋*爲什麼*它不適用於您的情況。請參閱[幫助中心](http://stackoverflow.com/help/mcve)以獲取更多有關如何提出更好問題並獲得更好答案的詳細信息。 –

回答

0

您只需根據當前畫布大小和原始畫布大小縮放位置即可。

function scaleCursorPoint(int mouseX, int mouseY, ctx) { 
    return { 
     x: mouseX * (ctx.canvas.width/ctx.width), 
     y: mouseY * (ctx.canvas.height/ctx.height) 
    }; 
} 

ctx(其變得與canvas.getContext('2d')具有原始未拉伸的寬度。ctx.canvas獲取原始canvas DOM元素。ctx.canvas.width是DOM元素(被拉伸的尺寸)的尺寸。

鴻溝兩個,你得到的比例值,然後只是你得到的積分多個比例值,你很好

+0

謝謝!完美地工作 –

+0

@InvincibleBlaze如果是答案,請點擊該號碼下方的複選標記,以便其他遇到此問題的人也知道答案。很高興它的作品。 =) – samanime