【发布时间】:2016-03-20 14:03:41
【问题描述】:
由于我刚开始学习 html 和 javascript,我想知道您是否可以在画布上并排放置动态图像?如果是这样,请问怎么做???
这是我目前要做的。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="ann.css" />
<script>
window.onload = animate;
var canvas=document.getElementById('mycanvas');
var ctx=canvas.getContext('2d');
function animate()
{
window.setInterval(slide,1000);
}
function slide()
{
var obj = document.getElementById("ball");
var left = obj.style.left;
if(left === ''){
left = 0;
}
var wartosc = parseInt(left, 10);
obj.style.left = (wartosc + 10) + "px";
}
function Loop() {
if (left>canvas.width){
var right = obj.style.right;
if(right === ''){
right = 0;
}
var wartosc = parseInt(right, 10);
obj.style.right = (wartosc + 10) + "px";
}
</script>
<style>
#ball
{
position: relative;
left: 1px;
}
#mycanvas {border:1px solid #000000}
</style>
</head>
<body>
<img src="ball.gif" id="ball" alt="Usmiech" width="30" height="30" />
<canvas id=mycanvas width=600 height=50>Canvas Not Supported
</canvas>
<body>
</html>
我想要它做的是将图像包含在画布内并从左到右移动,当到达画布的右侧时继续向左返回等等。
但是我的问题是如果可以做到,我不知道如何将图像放在画布上,然后一旦图像到达画布末端,我就无法使图像向右移动。我认为问题在于我的循环函数,它试图让它向右移动。
正如您从小提琴链接中看到的那样,当我删除循环功能代码时,它可以工作。但是它只会向左移动。
请问有人可以帮我解决吗? :)
【问题讨论】:
-
创建一个
gif怎么样? -
什么意思?我选择的图像是一个 gif,只是为了获得更多的特殊效果。
-
喜欢使用动画 gif 而非 jpeg 来处理动画
-
我想我明白你的意思。你是说要创建我自己的动画 gif(比如模因?)无论哪种方式,我真的不知道我将如何继续这样做。难道不可能按照我想做的方式去做。你知道怎么做吗?
-
是的,我知道在 Photoshop 中可以做到这一点,但就我的经验而言,这是差不多的。我不确定用html做动画,但我觉得它会复杂得多
标签: javascript html canvas