实例说明:

  • 实例使用HTML5+CSS+JavaScript实现小球的运动效果
  • 掌握Canvas的基本用法

技术要点:

  • 从需求出发 分析Demo要实现的功能
  • 擅于使用HTML5 Canvas 参考手册

主要分为两个部分:

  1. 静态布局:小球的设计,包括小球的位置、颜色、大小和大小变化情况等,初始化小球的函数,渲染函数,Update函数
  2. 动态主体:变量、数组的的定义,小球显示时长定时,鼠标移动触发小球运动的函数

代码部分:

canvas标签,提供绘图的画布

js逻辑:静态小球

其中,_init()函数设计小球的位置、颜色、速度、大小和大小变化,render()函数绘制小球,update()函数更小小球的变化

js逻辑:动态设计

var canvas = document.getElementById("canvas"); 获取canvas元素

画布的布局:

var ctx = canvas.getContext("2d"); 用于在画布上绘图的环境,返回的是环境对象,参数表示画布上绘制的类型,"2d"表示二维绘图。

移动鼠标,触发小球显示的时间限制:

绑定鼠标移动事件:

动态设计全部代码:

效果图:

注意:本实例用到一个JavaScript实用库Underscore,提供了类似Prototype.js的一些功能,但是没有继承任何JavaScript内置对象。它弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分。

HTML5 Canvas绚丽的小球详解的更多相关文章

  1. [js高手之路] html5 canvas系列教程 - 状态详解(save与restore)

    本文内容与路径([js高手之路] html5 canvas系列教程 - 开始路径beginPath与关闭路径closePath详解)是canvas中比较重要的概念.掌握理解他们是做出复杂canvas动 ...

  2. html5 Canvas绘制图形入门详解

    html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...

  3. html5的float属性超详解(display,position, float)(文本流)

    html5的float属性超详解(display,position, float)(文本流) 一.总结 1.文本流: 2.float和绝对定位都不占文本流的位置 3.普通流是默认定位方式,就是依次按照 ...

  4. Canvas入门到高级详解(中)

    三. canvas 进阶 3.1 Canvas 颜色样式和阴影 3.1.1 设置填充和描边的颜色(掌握) fillStyle : 设置或返回用于填充绘画的颜色 strokeStyle: 设置或返回用于 ...

  5. html5中viewport与meta详解

    网上解释手机浏览器是把页面放在一个虚拟的"窗口"(viewport)中,通常这个虚拟的"窗口"(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中 ...

  6. Canvas入门到高级详解(上)

    神奇的 canvas--AICODER 全栈培训 IT 培训专家 一.canvas 简介 1.1 什么是 canvas?(了解) 是 HTML5 提供的一种新标签 <canvas>< ...

  7. 【HTML5】Canvas之globalCompositeOperation属性详解

    globalCompositeOperation即Canvas中的合成操作. 1.source-over 这是默认值,他表示绘制的图形将画在现有画布之上 <!DOCTYPE html> & ...

  8. Canvas入门到高级详解(下)

    四. Canvas 开发库封装 4.1 封装常用的绘制函数 4.1.1 封装一个矩形 //思考:我们用到的矩形需要哪些绘制的东西呢? 矩形的 x.y坐标 矩形的宽高 矩形的边框的线条样式.线条宽度 矩 ...

  9. HTML5全局属性和事件详解

    属性: HTML5属性能够赋给标签元素含义和语境,下面的全局属性可用于任何 HTML5 元素. 属性 描述 contenteditable 规定是否允许用户编辑内容. contextmenu 规定元素 ...

随机推荐

  1. MySql 8.0 C#连接报错 MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host '12.118.224.181' for user 'root' using method 'caching_sha2_password' failed with message: Reading from t

    解决方法 在连接字符串后面加上   SslMode=None 

  2. Text ------widget树由两个widget:Center(及其子widget)和Text组成

    import 'package:flutter/material.dart'; void main() => runApp(new Center( child: new Text( 'Hello ...

  3. SAP 应收票据处理之贴现流程和配置

    特殊总账的应收票据处理是通过特殊总账标识实现的,特殊总账标识为W.在配置特殊总账时候,可以通过下面路径,定义特殊总账标识对应的备选科目.

  4. MapReduce编程:数字排序

    问题描述 将乱序数字按照升序排序. 思路描述 按照mapreduce的默认排序,依次输出key值. 代码 package org.apache.hadoop.examples; import java ...

  5. Java 中的系统时间

    currentTimeMillis()System.currentTimeMillis返回的是从1970.1.1 UTC 零点开始到现在的时间,精确到毫秒,平时我们可以根据System.current ...

  6. OpenGL.Tutorial文章转载

    ZC:本来以为没有中文版的,原来有中文版,网址为: ZC: OpenGL3.0教程 _ 泰然网.html(http://www.tairan.com/archives/6126/) ZC: OpenG ...

  7. 算法笔记--次小生成树 && 次短路 && k 短路

    1.次小生成树 非严格次小生成树:边权和小于等于最小生成树的边权和 严格次小生成树:    边权和小于最小生成树的边权和 算法:先建好最小生成树,然后对于每条不在最小生成树上的边(u,v,w)如果我们 ...

  8. shell脚本while read line的使用

    #### 题目要求计算文档a.txt中每一行中出现的数字个数并且要计算一下整个文档中一共出现了几个数字.例如a.txt内容如下:12aa*lkjskdjalskdflkskdjflkjj我们脚本名字为 ...

  9. requests库详解 --Python3

    本文介绍了requests库的基本使用,希望对大家有所帮助. requests库官方文档:https://2.python-requests.org/en/master/ 一.请求: 1.GET请求 ...

  10. pom中Maven插件 配置 maven-dependency-plugin maven-surefire-plugin

    使用Maven插件将依赖包 jar包 war包及配置文件输出到指定目录 1|0写在前面 ​ 最近遇到一个朋友遇到一个项目需要将 maven 的依赖包和配置文件分开打包然后用脚本执行程序.这样的好处在于 ...