Canvas绘制星球轨迹移动
来源:互联网 发布:论坛模板源码 编辑:程序博客网 时间:2024/04/27 21:09
在开发在线游戏时,绘制动画是非常重要的。本节介绍一个使用Canvas API实现的动画实例——小型太阳系模型,由地球、月球和太阳组成。在漆黑的夜空中,地球围着太阳转、月球围绕地球转.
p(1)定期绘图,也就是每隔一段时间就调用绘图函数进行绘图。动画当时多次绘图实现的,一次绘图只能实现静态图像。
p可以使用setInterval()方法设置一个定时器,语法如下:
setInterval(函数名,时间间隔)
p时间间隔的单位是ms,每经过指定的时间间隔系统都会自动调用指定的函数。
p(2)清除先前绘制的所有图形。物体已经移动开来,可原来的位置上还保留先前绘制的图形,这样当然不行。解决这个问题最简单的方法是使用clearRect方法清除画布中的内容。
p在设计小型太阳系模型动画实例之前需要准备3个图片分别用于表现地球、月球和太阳。本例的画面比较小,因此这3个图片不需要很精美。这里使用sun.png表现太阳、使用eartrh.png表现地球使用moon.png表现月球,图它们保存在images目录下
在JavaScript代码中定义3个Image对象,分别用于显示sun.png、eartrh.png和moon.png。然后定义一个init()函数,初始化Image对象,并设置定时器,代码如下本例的背景就是漆黑的夜空,因此简单地画一个黑色的矩形就可以了
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body><canvas id="canvas" width="500" height="500"></canvas><script>var sun=new Image();var earth=new Image();var moon=new Image();function init(){sun.src="img/sun.jpg";earth.src="img/earth.jpg";moon.src="img/moon.jpg";setInterval(draw,100);}function draw(){var c=document.getElementById("canvas");var ctx=c.getContext("2d");ctx.clearRect(0,0,500,500);ctx.fillStyle='rgba(0,0,0)';ctx.fillRect(0,0,500,500);ctx.save();////3绘制太阳;ctx.drawImage(sun,200,200,50,50);//4.绘制地球的轨道;ctx.strokeStyle='red';ctx.beginPath();ctx.arc(225,225,150,2*Math.PI,false);ctx.stroke();ctx.closePath();}window.addEventListener("load",init(),true);</script></body></html>
步骤效果:
阅读全文
0 0
- Canvas绘制星球轨迹移动
- canvas绘制星球轨道
- 高德地图绘制移动轨迹
- Canvas轨迹
- vb.net中如何快速绘制鼠标移动轨迹
- 百度地图API,根据经纬度实现车辆移动轨迹绘制
- 百度地图API,根据经纬度实现车辆移动轨迹绘制
- HTML5 移动开发 ------ Canvas 9.3 绘制图片
- javaScript和CSS制作星球运行轨迹
- 百度地图轨迹绘制
- 绘制根轨迹_20160126
- 地图绘制行动轨迹
- 高德绘制轨迹
- 百度定位绘制轨迹
- matlab绘制抛物线轨迹
- canvas绘制
- Canvas绘制
- HTML5---Canvas-模拟地球-星球运行轨道
- wireshark过滤MAC地址/物理地址
- 揭开“流量劫持”的神秘面纱:月入至少三万
- linux 下创建和删除软连接
- 复制特定div中的文字
- InputConnection模拟文字输入
- Canvas绘制星球轨迹移动
- Mail Chimp
- Linux tcpdump命令详解
- loj6000 「网络流 24 题」搭配飞行员(二分图最大匹配)
- python opencv 实现开闭运算
- 《看透springMVC源码》之Tomcat的生命周期
- recyclerview 分割线(去掉头和尾部)
- 使用 Maven Profile 和 Filtering 打各种环境的包
- springbooot中shiro