使用Canvas画一个弹跳的皮球
来源:互联网 发布:淘宝秒杀网页 编辑:程序博客网 时间:2024/04/29 14:39
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #bgCanvas{ position: absolute; top: 50px; left: 20px; z-index: 2; } #bgCanvas{ position: absolute; top: 50px; left: 20px; z-index: 3; } </style></head><body><input type="button" value="开始" onclick="beginAni();"><input type="button" value="结束" onclick="stopAni();"><canvas id="myCanvas" width="1024" height="485"></canvas><canvas id="bgCanvas" width="400" height="500"></canvas><script> var bgCanvas = document.getElementById("bgCanvas");//获取画布对象 var bgCtx = bgCanvas.getContext("2d")//拿到上下文对象 var image01 = new Image(); image01.src = "1.jpg"; image01.onload = function () { bgCtx.drawImage(image01,0,0); //异步加载 } var myCanvas = document.getElementById("myCanvas");//获取画布对象 var ctx = myCanvas.getContext("2d")//拿到上下文对象 //不变的元素 var circle_x = 100; var circle_r = 50; //变化的元素 var circle_y = 0; var offset = 1; var intervalFlg = 0; var flg = -1; function clearAndRedraw() { ctx.clearRect(0,0,myCanvas.width,myCanvas.height); ctx.beginPath(); ctx.arc(circle_x,circle_y,circle_r,0,Math.PI*2,false); ctx.strokeStyle = "red"; ctx.fillStyle = "red"; ctx.fill(); ctx.stroke(); ctx.closePath(); if ((flg == -1 && circle_y<=myCanvas.height) || circle_y <= 0){ circle_y+=offset; flg = -1; } if (circle_y == myCanvas.height || flg == 1){ circle_y-=offset; flg = 1; } } function beginAni() { if(intervalFlg == 0){ intervalFlg = setInterval(clearAndRedraw,5);//周期性调用 } } function stopAni() { if(intervalFlg != 0){ clearInterval(intervalFlg); intervalFlg = 0; } }</script></body></html>
阅读全文
0 0
- 使用Canvas画一个弹跳的皮球
- HTML Canvas实例 曲线弹跳的小球
- coco2d-x 皮球弹跳翻案实现
- HTML5 Canvas 图像动画的实现(实例小球弹跳)
- 我是一个皮球
- canvas例子一弹跳小球
- canvas demo-小球弹跳游戏
- 使用canvas画一个时钟
- “强人”的“皮球”生涯
- 《自私的皮球》
- 使用canvas画一个可以动的时钟
- [HTML5-Canvas] 使用HTML5 canvas完成的一个网页白板
- Android一个小球弹跳的例子,希望对大家有用
- Android一个小球弹跳的例子,希望对大家有用
- 4. “强人”的“皮球”生涯
- 利用canvas画布制作小球弹跳动画
- 使用android animator 实现 弹跳的篮球效果
- 简单的弹跳动画
- pyqt setStyleSheet用法
- 《CLR via C#(第4版)》【PDF】下载
- bzoj3411 [Usaco2009 Dec]Bobsledding 高山滑雪
- 数论——最大公约数和最小公倍数
- VS 内存问题
- 使用Canvas画一个弹跳的皮球
- Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)
- 多线程基础 -1
- markdown
- POJ 刷题系列:1083. Moving Tables
- 第一个示例程序FreakOut编译问题
- 对于stm32,初学者用库函数好还是直接对寄存器操作比较好
- pat考试总结
- 分布式端口扫描利刃: 使用DNmap创建Nmap集群