在html5画布内绘制图像的一部分

素拉

我正在尝试在画布中绘制第一个绿色坦克,但我认为我的代码中遗漏了一些东西

jsfiddle

draw: function () {
    tankImg.onload = function () {
        ctx.drawImage(tankImg, this.Pos * this.w, 0, this.w, this.h, this.x, this.y, this.w, this.h);
    };
}

谁能帮我吗?

克雷泽

好的,首先,非常感谢您的拨弄-使一切轻松了十亿倍。

您的代码中存在两个三个错误-第一个是tankImg.onload函数。onload函数仅触发一次-首次加载图像时。

您需要的是tankImg.complete,如果已加载,则返回true,否则返回false。

其次,您不能为y属性分配“ ch-this.h”,因为直到完成定义才定义“ this”。您可以在绘图代码中设置y值。

第三,在javascript中,您不能执行var cw,ch = 400;

 $(document).ready(function () {
     var cw = 400;
     var ch = 400;
     var ctx = $("#MyCanvas")[0].getContext("2d");
     var tankImg = new Image();
     tankImg.src = "http://oi62.tinypic.com/148yf7.jpg";
     var Fps = 60;
     var PlayerTank = {
         x: cw / 2,
         w: 84,
         h: 84,
         Pos: 2,
         draw: function () {
             ctx.drawImage(tankImg, this.Pos * this.w, 0, this.w, this.h, this.x, ch - this.h, this.w, this.h);
         }
     };

     var game = setInterval(function () {
         if (tankImg.complete) {
             PlayerTank.draw();
             PlayerTank.x++;
         }
     }, 1000 / Fps);
 });

这是带有奖金运动的完整jsfiddle,很有趣。

编辑:处理.onload的Ken版本要好得多。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

采取画布的一部分,并在每次移动时将其作为图像绘制在另一画布上

来自分类Dev

在画布中填充一部分绘制的图像

来自分类Dev

HTML5画布使圆圈在画布内闪烁

来自分类Dev

如何获取在HTML5画布上绘制的图像的X / Y值?

来自分类Dev

在画布内绘制图像

来自分类Dev

如何绘制图像的一部分?

来自分类Dev

RXJS在HTML5画布上绘制线条

来自分类Dev

在背景缩放上绘制HTML5画布

来自分类Dev

HTML API-它们是否是HTML5标准的一部分?

来自分类Dev

列表内的HTML5 Canvas,无法在所有画布上绘制图像

来自分类Dev

使用for循环绘制HTML5画布圆

来自分类Dev

在HTML5画布上擦除图像的一部分?

来自分类Dev

在HTML5画布上绘制多个图像有时不起作用

来自分类Dev

实时HTML5画布绘制

来自分类Dev

如何在HTML5画布内旋转图像而不绘制图像?

来自分类Dev

画布HTML5中绘制图像对象的限制区域

来自分类Dev

清除画布后未绘制图像(html5画布)

来自分类Dev

采取画布的一部分,并在每次移动时将其作为图像绘制在另一画布上

来自分类Dev

为什么HTML5 drawImage无法在画布上绘制图像?

来自分类Dev

html5画布绘制多个图像

来自分类Dev

Chrome 31.0 HTML5画布绘制图像

来自分类Dev

在html5画布内绘制图像的一部分

来自分类Dev

无法在Phonegap中的HTML5画布上绘制图像

来自分类Dev

在HTML5画布上绘制图像

来自分类Dev

如何使用libgdx绘制图像的一部分

来自分类Dev

如何在HTML5画布上绘制背景图像

来自分类Dev

画布drawBitmap仅是图像的一部分

来自分类Dev

如何使用HTML5画布找出单击圆圈的哪一部分?

来自分类Dev

html5画布部分绘制

Related 相关文章

热门标签

归档