마우스 커서를 사용자 정의 이미지로 변경해야합니다.자바 스크립트가있는 사용자 정의 커서 이미지
가능한 경우 스프라이트 시트에서 수행하고 싶습니다. 게임에서 사용하기 때문에 CSS에서 처리 할 수 없습니다. 나는 언제 어떻게 결정할지를 안다.
내가 알아야 할 것은 커서를 이미지로 바꾸고 이미지 위치와 크기를 어떻게 결정 하는가이다. drawImage의 이미지 위치와 비슷한 쉬운 솔루션이 있습니까?
마우스 커서를 사용자 정의 이미지로 변경해야합니다.자바 스크립트가있는 사용자 정의 커서 이미지
가능한 경우 스프라이트 시트에서 수행하고 싶습니다. 게임에서 사용하기 때문에 CSS에서 처리 할 수 없습니다. 나는 언제 어떻게 결정할지를 안다.
내가 알아야 할 것은 커서를 이미지로 바꾸고 이미지 위치와 크기를 어떻게 결정 하는가이다. drawImage의 이미지 위치와 비슷한 쉬운 솔루션이 있습니까?
당신은 커서를 숨기기 위해 자바 스크립트를 사용하여 CSS를 설정할 수 있습니다
your_canvas.style.cursor = "none"
그런 다음이 같은으로 커서의 위치를 (그것이 지금 숨겨져) 얻을 수 있습니다 : 다음
your_canvas.addEventListener("mousemove", function (ev) {
var mouseX = ev.pageX - GetTopLeft(your_canvas).Left;
var mouseY = ev.pageX - GetTopLeft(your_canvas).Top;
});
을 수행 할 수 있습니다 캔버스를 수정하여 해당 위치에서 멋진 커서 스프라이트를 표시하십시오. 나는에서 GetTopLeft 기능을 복사 한
function GetTopLeft(elm){
var x, y = 0;
//set x to elm’s offsetLeft
x = elm.offsetLeft;
//set y to elm’s offsetTop
y = elm.offsetTop;
//set elm to its offsetParent
elm = elm.offsetParent;
//use while loop to check if elm is null
// if not then add current elm’s offsetLeft to x
//offsetTop to y and set elm to its offsetParent
while(elm != null)
{
x = parseInt(x) + parseInt(elm.offsetLeft);
y = parseInt(y) + parseInt(elm.offsetTop);
elm = elm.offsetParent;
}
//here is interesting thing
//it return Object with two properties
//Top and Left
return {Top:y, Left: x};
}
내가 기억할 수 있지만 당신은 캔버스를 사용하는 경우
그래, 캔버스에 마우스 위치를 지정하는 기능이있어, 당신과 Mike Depies가 말한 것처럼 이미지를 그리는 것이 내 문제에 대한 매우 우아한 해결책이었다. – justanotherhobbyist
, 바로 위에 커서를 숨기 ... 다음과 같이
GetTopLeft 정의된다 캔버스에 캔버스에 자신의 스프라이트를 그립니다.
이것은 내가 생각하지 않은 멋지고 간단한 해결책이었다. 이 방법을 사용합니다. – justanotherhobbyist
문제 없습니다. 개발과 관련하여 최선을 다하겠습니다. –
당신은 ** CSS를 수정하기 위해 자바 스크립트를 사용하는 경우 CSS를 사용하여 ** 할 수 있습니다 ... – Jon
나는 CSS에서 할 수있는 것을 알고 있지만 가능하면 오히려 그다지 말하지 않았습니다. – justanotherhobbyist
커서를 숨기는 유일한 방법은 커서의 CSS를 설정하는 것입니다. 어쨌든 CSS를 사용하고 싶지 않은 이유는 무엇입니까? – GoldenNewby