我正在 Windows 8 上使用 HTML5/WinJS 编写游戏。我试图产生子弹或导弹射击某物的效果;但是,我似乎无法让对象通过背景中的另一个图像而不拖尾边框。我的工作理论是,我看到的边界是由使用clearRect
. 这是我的代码:
var moveBullet = function(missile) {
if (missile.Image == undefined || missile.Image == null) {
var image = new Image();
image.src = "/images/missileImg.png";
image.onload = function () {
canvasContext.clearRect(missile.PointX - (image.width / 2), missile.PointY, image.width, image.height);
missile.PointY += BULLET_SPEED;
canvasContext.drawImage(image, missile.PointX - (image.width / 2), missile.PointY);
};
} else {
canvasContext.clearRect(missile.PointX - (missile.Image.width / 2), missile.PointY, missile.Image.width, missile.Image.height);
missile.PointY += BULLET_SPEED;
canvasContext.drawImage(missile.Image, missile.PointX - (missile.Image.width / 2), missile.PointY);
}
}
有没有办法在不使用 clearRect 的情况下实现这种效果,或者在背景移动时恢复背景的更有效方法?