Canvas绘制星球轨迹移动
视频课堂https://edu.csdn.net/course/play/7621
在开发在线游戏时,绘制动画是非常重要的。本节介绍一个使用Canvas API实现的动画实例——小型太阳系模型,由地球、月球和太阳组成。在漆黑的夜空中,地球围着太阳转、月球围绕地球转.
setInterval(函数名,时间间隔)
在 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>
步骤效果:
Canvas绘制星球轨迹移动相关推荐
- HTML5 canvas绘制太阳系各行星(包括月球的公转)
HTML5 canvas绘制太阳系 看了好多canvas绘制太阳系行星,他们都忽略了月亮,虽然月亮不是行星,但是绘图少了月亮也就没有挑战性了,今天我就计算了一下月亮的轨迹,然后按照公转的比例画了上 ...
- 用canvas绘制一个圆形,实现绕着一个中心运动
实现效果 使用canvas绘制一个圆形,实现绕着一个中心,轨迹类似于走一个椭圆的轨迹那样路线,并且实现漂浮的效果. 这里只是一个实例Demo,直接运行就可以,下面附上代码: <!doctype ...
- android 画布 轨迹,Android 多点触控,绘制滑动轨迹和十字光标
这个测试项,要捕捉当前有几个触摸点,当前触摸点坐标,滑动事件在x轴.y轴方向的速度等信息,在触摸时跟随触摸点会出现十字光标,绘制出滑动轨迹. 首先绘制出暗色格子背景,采用了自定义View,较为简单,核 ...
- Canvas绘制圆滑曲线
canvas 绘制曲线是一个比较容易实现的逻辑,但是对于签名,或者手写板,大屏会议机等设备原生的Canvas.drawPath(); 要求线条曲率完美,直接使用drawPath显然不能满足需求,这方面 ...
- canvas绘制的文字如何换行
<html><head><title>canvas绘制的文字如何换行</title><style type="text/css" ...
- HTML5 canvas绘制雪花飘落
Canvas是HTML5新增的组件,它就像一块幕布,可以用JavaScript在上面绘制各种图表.动画等.没有Canvas的年代,绘图只能借助Flash插件实现,页面不得不用JavaScript和Fl ...
- python绘制三维轨迹_Python学习(一) —— matplotlib绘制三维轨迹图
在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...
- canvas绘制时钟
听了慕课网Sliav Zhou 的课程canvas绘制时钟,记录下来的代码,每句做了注解便于以后学习,原先每次边听别的课边敲码,错误百出,明明原封不动复制的代码,就会出错,还找不到原因,今天可能运气好 ...
- canvas绘制圆形
canvas绘制圆形的思路: 1.创建路径 XXX.beginpath(); 2.创建圆形的路径: 3.关闭路径:XXX.closepath(); 路径不关闭也能绘制出图形 4.设定绘制样式. 创建圆 ...
最新文章
- 雨季来临 对车辆涉水说“NO”
- 深入思考编译原理之 理解执行过程和编译过程
- 蓝桥杯 入门训练 试题集汇总 【A+B问题、序列求和、圆的面积、Fibonacci数列】
- c语言自动生成球队名称,C语言实现队(循环队列)
- Jupyter Notebook简介及默认路径修改
- Android项目目录结构
- linux验证cuda安装成功_Linux环境CUDA 4.0入门:验证安装
- 未定义函数或变量_变量提升:JavaScript是顺序执行,为什么变量在定义之前执行不会报错而是报Underfined...
- 谁拿了最多奖学金(洛谷-P1051)
- 20210601:力扣第243周周赛(上)
- 阿里HR:你会使用selenium爬取工具? 某人:那不是随随便便吗,不止会用 还会爬取掘金小册呢!
- 民企信息化建设个人经历(一)
- JPEG图片存储格式及原理
- 6月13日木叶下向量
- AI生成肖像画,精细到毛发!北大校友最新研究收割2.8k星标,还登上了ICPR 2020...
- SimpleITK使用——4. 奇怪的问题
- 关于苹果开发证书失效的解决方案(2016年2月14日Failed to locate or generate matching signing assets)
- RabbitMQ的第一次亲密接触
- .net core 发布到IIS后提示错误
- CSS基础:CSS的上下文之BFC
热门文章
- 相对湿度计算软件_空调工程负荷详细计算方法(附有实例)
- jQuery.ready() 函数详解
- 【高效解法】1065 单身狗 (25分)_27行代码AC
- 【GIF动画+完整可运行源代码】C++实现 堆排序——十大经典排序算法之七
- c语言 编程显示图案*,*型图案的显示与控制(学习C语言后的编程尝试)(2)(完)...
- 深入理解linux文件系统( 理解inode与block,理解硬链接软链接,掌握恢复误删文件及其分析方法,掌握用户日志及其查询命令 )
- shell脚本详解(三)——循环语句之for循环
- java基础知识点_零基础学习Java语言,各个阶段需要掌握的知识点
- java gui 组件_Java GUI4:深入了解GUI组件
- controller层没反应_热拉提一年做几次?热提拉的副作用根本没在怕的~