0
<canvas id="myCanvas" width="800" height="500"></canvas>
<script src="js/jquery-1.11.3.js"></script>
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var snipeImg=new Image(); // Image 객체 생성하기
snipeImg.src="images/snipe.png";
var holeImg = new Image();
holeImg.src="images/hole.png";
var holeList =[];
intervalId = setInterval(drawScreen, 20);
$('#myCanvas').mousemove(function(event){
context.clearRect(0,0,800,500);
// context.save();
//canvas 내에서의 마우스의 좌표 얻어오기
var eventX =event.offsetX -50;
var eventY =event.offsetY -50;
context.drawImage(snipeImg,eventX,eventY,100,100);
// context.restore();
});
$('#myCanvas').mousedown(function(event){
context.clearRect(0,0,800,500);
var holeX =event.offsetX-10;
var holeY =event.offsetY-10;
console.log(holeX + " , " + holeY);
var obj={};
obj.x = holeX;
obj.y = holeY;
holeList.push(obj);
});
function drawScreen(){
for(var i in holeList){
context.save();
var tmp = holeList[i];
context.drawImage(holeImg,tmp.x,tmp.y,20,20);
context.restore();
}
};
這是我的代碼。這是我的射擊遊戲的一部分。但我不知道爲什麼holeList []圖像保持清爽(閃爍)當我的鼠標移動。 任何人都知道爲什麼?請幫幫我。我只是想讓這些holeImg []一動不動。爲什麼當我在jquery中移動鼠標時,圖像保持刷新?
請您可以創建的jsfiddle並添加一些HTML的呢? –
提供給我們一個例子,我不能在jsfiddle中工作... –
看看你的代碼示例,你確定'drawScreen'沒有被其他事件處理程序調用嗎?我會在'drawScreen'和mousemove處理程序中放置一個斷點,並查看是否從鼠標動作調用drawScreen。 – Jason