나는 스프라이트 시트에 30 개의 스프라이트로 구성된 걷는 그림을 작성하여 캔버스를 연습하고 있습니다. following site에서 확인하십시오.캔버스로 스프라이트 시트를 그리는 중 오류가 발생했습니다.
그러나 보시다시피 유창 해 보이지 않습니다. 그리고 나는 clearRect
과 drawImage
에 대해 정의되지 않은 오류의 메서드를 호출 할 수 없습니다.
미리 감사드립니다.
나는 스프라이트 시트에 30 개의 스프라이트로 구성된 걷는 그림을 작성하여 캔버스를 연습하고 있습니다. following site에서 확인하십시오.캔버스로 스프라이트 시트를 그리는 중 오류가 발생했습니다.
그러나 보시다시피 유창 해 보이지 않습니다. 그리고 나는 clearRect
과 drawImage
에 대해 정의되지 않은 오류의 메서드를 호출 할 수 없습니다.
미리 감사드립니다.
귀하의 사이트에서 코드를 확인했습니다. 문제는 다음과 같습니다. ctx가 처음 실행될 때 init 함수()의 값으로 채워지지 않습니다.
draw() 함수는 본문이로드되기 전에로드 된 이미지가 머리글에로드 될 때 시작됩니다.
일부 영역의 경우 이미지가 측면으로 이동하는 것과 관련하여 수학을 확인하십시오. 그것은 쉽게 잘못된 부분을
편집 자르기 일 수 있었다 : 여기에 스크립트에 있어야 무엇, 그것은 머리 태그
var ctx;
var count = 0;
var x;
var y;
var img = new Image();
function draw()
{
requestAnimationFrame(draw);
ctx.clearRect(0, 0, 171, 192);
x = (count % 6) * (934/6);
y = Math.floor(count/6) * 192;
ctx.drawImage(img, x, y, 934/6, 192, 0, 0, 171, 192);
if(count == 29)
count = 0;
else
count++;
}
function init()
{
ctx = document.getElementById('canvas01').getContext("2d");
img.src="img/sprites.jpg";
img.onload = draw;
}
그래서 내 몸 태그 끝에 자바 스크립트를 추가해야합니까? – Hangslotman
답변 수정보기 – Dacheng
포스트 질문에 관련 코드에 유지됩니다. – Musa
실제 질문은 무엇입니까? 당신의 문제가 어디에서 발생했는지 알고 있습니까? 너 뭐 해봤 니? – Thilo
스프라이트 시트 크기를 조정하려고 시도했지만 typho를 찾았지만 실제로 그 원인을 모릅니다. – Hangslotman