无法将一个画布放在另一个画布下

番红花

我想在另一个下面放一块画布。我对javascript很陌生,所以如果以下代码看起来有些混乱,我会提前道歉。我想让名为“ myCanvas”的画布出现在“ coinAnimation”的后面。非常感谢所有回复。

的HTML

<div id="wrapper">
<canvas id="coinAnimation" height="500" width="500"></canvas>
<canvas id="myCanvas" height="500" width="600"></canvas>
</div>

Java脚本

<script type="text/javascript">
(function () {
var coin,
    coinImage,
    canvas;                 

function gameLoop () {
    window.requestAnimationFrame(gameLoop);
    coin.update();
    coin.render();
    }

function sprite (options) {
var that = {},
frameIndex = 0,
    tickCount = 0,
    ticksPerFrame = options.ticksPerFrame || 0,
    numberOfFrames = options.numberOfFrames || 1;

    that.context = options.context;
    that.width = options.width;
    that.height = options.height;
    that.image = options.image;

    that.update = function () {

    tickCount += 1;

    if (tickCount > ticksPerFrame) {

    tickCount = 0;

// If the current frame index is in range
if (frameIndex < numberOfFrames - 1) {  

// Go to the next frame
frameIndex += 1;
} else {
frameIndex = 0;
}
}
};
that.render = function () {

// Clear the canvas
that.context.clearRect(0, 0, that.width, that.height);

// Draw the animation
that.context.drawImage(
    that.image,
    frameIndex * that.width / numberOfFrames,
    -110,
    that.width / numberOfFrames,
    that.height,
    0,
    0,
    that.width / numberOfFrames,
    that.height);
    };

return that;
}

// Get canvas
canvas = document.getElementById("coinAnimation");
canvas.width = 600;
canvas.height = 300;

// Create sprite sheet
coinImage = new Image();    

// Create sprite
coin = sprite({
    context: canvas.getContext("2d"),
    width: 1000,
    height: 300,
    image: coinImage,
    numberOfFrames: 10,
    ticksPerFrame: 7
    });

// Load sprite sheet
coinImage.addEventListener("load", gameLoop);
coinImage.src = "images/test2.png";

} ());
</script>

<script type="text/javascript">
window.addEventListener('load', function () {
  var
    img = new Image,
    ctx = document.getElementById('myCanvas').getContext('2d');

  img.src = "images/back.png";
  img.addEventListener('load', function () {

    var interval = setInterval(function() {
      var x = 0, y = 0;

      return function () {
        ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
        ctx.drawImage(img, x, y);

        x += -1;
        if (x > ctx.canvas.width) {
          x = 0;
        }
      };
    }(), 1000/40);
  }, false);
}, false);
</script>
car

看到这里:jsfilddle.net我添加了背景色以演示定位和z-index。

首先,使包装器div位置相对。这是容器div所基于的位置。然后将容器div绝对定位到(0,0)。然后,设置z-index,以使myCanvas位于coinAnimation的后面。

CSS:

#wrapper
{
    position:relative;    
}

#coinAnimation
{
    background-color:blue; 
    position:absolute;
    z-index:1;
}
#myCanvas
{
    background-color:red;
    position:absolute;
    top:0px;
    left:0px;
    z-index:0;
}

HTML:

<div id="wrapper">
    <canvas id="coinAnimation" height="500" width="500"></canvas>
    <canvas id="myCanvas" height="500" width="600"></canvas>
</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在另一个画布上层叠画布?

来自分类Dev

如何将一个画布的内容复制到另一个?

来自分类Dev

如何使用画布将一个图像粘贴到另一个图像?

来自分类Dev

将画布复制到另一个画布

来自分类Dev

C#将画布的所有子代复制到另一个画布

来自分类Dev

将画布(包括图像)复制到另一个画布失败

来自分类Dev

将一个画布内的对象拖放到html5中的另一个画布上

来自分类Dev

JavaScript画布,手动将画布克隆到另一个画布上会生成奇怪的图案

来自分类Dev

GetSubRaster并显示在另一个画布PaperJS中

来自分类Dev

将画布的一部分裁剪为另一个画布对象

来自分类Dev

无法从另一个函数恢复画布上下文

来自分类Dev

如何使用JavaScript将画布的最后20行复制到另一个画布中?

来自分类Dev

如何将图像从一个织物画布复制到另一个大织物画布的一部分?

来自分类Dev

将画布图像调用到另一个div或页面

来自分类Dev

隐藏一个画布会使另一画布无法选择

来自分类Dev

隐藏一个画布会使另一画布无法选择

来自分类Dev

在另一个圆形画布内绘制一个圆形

来自分类Dev

将div放在另一个div的中心

来自分类Dev

将div放在另一个div的底部

来自分类Dev

将布局放在另一个居中的上方

来自分类Dev

将div放在另一个div上

来自分类Dev

将div放在另一个div旁边

来自分类Dev

jQuery将元素放在另一个之后

来自分类Dev

将div放在另一个旁边

来自分类Dev

将Div放在另一个Div的下面

来自分类Dev

将div恰好放在另一个之后

来自分类Dev

将div放在另一个之上

来自分类Dev

将布局放在另一个之上

来自分类Dev

无法将ByteBuffer放在另一个更大的ByteBuffer内

Related 相关文章

热门标签

归档