画布内的人体条纹动画
human stripes animation inside canvas
我的jsfiddle:http://jsfiddle.net/yKvuK/
正如你所看到的,当人类行走时,图像保持在原来的位置。我可以更改代码吗?这样,当我向左按时,图像会改变它的位置,看起来像是向左行走,而不仅仅是原地行走?
function update() {
canvas.clearRect(0, 0, CanvasWidth, CanvasHeight);
if (keydown.left) {
CurentPos++;
if (CurentPos == ImgNumb) {
CurentPos = 0;
}
}
} // end update
试试这个小提琴:
http://jsfiddle.net/yKvuK/1/
基本上,每次更改帧时,"left
"变量都会递减,因此向左移动。
// I draw the "init" picture at x=250, so he has more space to walk.
var left = 250;
function update() {
canvas.clearRect(0, 0, CanvasWidth, CanvasHeight);
if (keydown.left) {
CurentPos++;
if (CurentPos == ImgNumb) {
CurentPos = 0;
}
left -= 5; // <----
}
} // end update
...
...
function draw() {
canvas.drawImage(characterImg, CurentPos * 64, 0, 64, 64, left, 200, 64, 64);
}
顺便说一句,我从来没有见过/用过画布。看起来我只是幸运地选择了正确的变量:P
这将起作用:FIDDLE
使用你的x
变量(而不是添加新的),你也可以在向右移动时使用它。将其添加到update()
中。
if (keydown.left) {
CurentPos++;
x -= 3; // I used 3 but increase this to move faster
if (CurentPos == ImgNumb) {
CurentPos = 0;
}
}
和
canvas.drawImage(characterImg, CurentPos * 64, 0, 64, 64, 200 + x, 200, 64, 64);
相关文章:
- 动画显示:无显示:内联
- 对链接的 svg 进行动画处理不起作用;内联时工作正常
- jQuery有没有,或者有没有jQuery插件,内置了监听CSS3动画事件的功能(例如animationEnd)
- 如何内联或通过javascript设置css3动画
- 在小间隔内通过javascript更新css时,会出现断断续续的动态观察动画
- Javascript:将球保持在圆圈内动画
- 在同一持续时间内对两个属性进行动画处理
- HTML Canvas 中的 Javascript Animation - 无法将动画保留在边框内
- 间隔内的动画
- CSS 过渡:在“高度”样式属性的内联样式之间设置动画
- 如何获得内置进度条的工作按钮动画
- 将鼠标悬停在元素上动画化下一个元素-如何删除内联JS
- 画布内的人体条纹动画
- Jquery动画从一个角向内
- 函数内调用的HTML5 JavaScript画布动画类方法
- 微任务是否保证在它们排队的同一动画帧内触发?
- 代码如何检测是否在动画帧内运行
- 在请求动画填充内的回调参数
- 剑道塔布内的剑道格子有无限的高度
- Div slideUp和slideDown动画采用内嵌块显示