使用 HTML 标记来补充 canvas(二)动画和文本渲染

简介

常用缩略词

CSS:级联样式表

DOM:文档对象模型

HTML:超文本标记语言

UI:用户界面

在这个由两部分组成的 系列文章 的 第 1 部分 中,我们讨论了如何让 canvas 与 HTML 元素强强联手, 共同构建丰富的 Internet 应用程序。

在本文中,我们将回顾选择 canvas 或以 HTML 为中心的架构 的标准,了解动画考虑事项和克服文本渲染限制的方法,也就是说,通过将 HTML 和 canvas 元素分层,为视 频游戏奠定基础,从而利用每一种方法的优势。图 1 显示了本文中太空射击游戏示例的基础。

图 1. 将 HTML 和 canvas 元素相结合的样例应用程序

您可以 下载 本文中使用的示例的源代码。

架构

在使用大量 图形组件、交互式体验和可视化效果构建应用程序时,重要的是要了解可用于该任务的工具。本节将探讨如何 使用 HTML 实现 UI 组件,以及如何使用 canvas 实现动画组件。

用户界面

尽管 canvas 可能 具有令人印象深刻的图形性能,但它并不总是实现丰富 UI 的最佳选择;HTML 元素可能更适合。很多丰富的 Internet 应用程序包含各种部件,每个部件都有不同的用途和要求。将 canvas 和 HTML 元素强强联合的混 合方法可以最有效地实现您的目标。

样例应用程序利用了 图 2 中的分层技术。canvas 主要负责实时 图形和动画,而几个 HTML 元素将会覆盖在上面,用于构成各个 UI 组件。

图 2. 将 HTML 元素放在 canvas 上面一层

时间: 2024-09-20 06:02:48

使用 HTML 标记来补充 canvas(二)动画和文本渲染的相关文章

使用HTML标记来补充canvas(一)混合使用canvas API和HTML/CSS 模型

简介 本系列文章共两部分,在第 1 部分中,将创建将 canvas API 和 HTML/CSS 两种模型的优点 结合在一起的应用程序.canvas API 是要求高性能.低负荷图形的 Web 应用程序的理想选择.然而,如果仅 仅围绕 canvas 设计整个应用程序而忽略传统 HTML/CSS 模型的优点则不免短视.与其想当然,不如学习一些 在 HTML/CSS 中非常有用但在 canvas 中难以或无法实现的功能. 常用缩略词 API:应用程序编程接口 CSS:级联样式表 HTML:超文本标记

浏览器-缓存到本地的网页文件canvas的动画效果无法显示是为什么?

问题描述 缓存到本地的网页文件canvas的动画效果无法显示是为什么? 学习h5效果的时候,通过浏览器的页面功能保存了含有通过canvas实现动画效果的网页,用域名访问时很正常,但从本地打开html文件时就是与之前打开的完全不同的页面,js和css文件没有缺失,请问这是什么原因?有没有办法通过打开本地的文件来查看效果 解决方案 http://jingyan.baidu.com/article/ab0b563093c6b6c15afa7db8.html?st=2&os=0&bd_page_t

html5游戏开发-关于html5 canvas 绘图动画的问题,我要实现把一张图片绘制在canvas中,然后使其动起来

问题描述 关于html5 canvas 绘图动画的问题,我要实现把一张图片绘制在canvas中,然后使其动起来 情况说明: 图像可以绘制,但是使用setInterval以后就一闪而过,然后没有图像;了 <!doctype html> 我的图片 // 设置绘图环境 var myMap = document.getElementById("Map"); var cxt=myMap.getContext('2d'); // 设置图像位置初始位置的变量 var x=20; var

js+html5实现canvas绘制镂空字体文本的方法

  本文实例讲述了js+html5实现canvas绘制镂空字体文本的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3

rc ngine-利用C#进行arc engine 二次开发 单值渲染

问题描述 利用C#进行arc engine 二次开发 单值渲染 第一个图是正常生成点shp图:第二个是基于点属性的某一字段进行单值渲染后的结果,地图是空白的,怎么才能将渲染好的结果显示出来啊?求大神指教!!! 解决方案 PointShp是点图层还是面图层?如果是点图层,怎么单值渲染中C类水平和B类水平的符号是面符合? 解决方案二: 对,应该是点文件,编码中写成面文件了

js+html5实现canvas绘制镂空字体文本的方法_javascript技巧

本文实例讲述了js+html5实现canvas绘制镂空字体文本的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;"> Your browser does not s

HTML5 Canvas旋转动画的2个代码例子

 效果图: 方法一: 代码如下: <!DOCTYPE HTML> <html> <body> <canvas id="myCanvas" width="500" height="500">your browser does not support the canvas tag</canvas> <script type="text/javascript">

Servlet 和 XML:互为补充(二)(转)

servlet|xml 清单 5. printDOMTree     if (requestedSubtree.equalsIgnoreCase("author"))      printDOMTree(author, out);    else if (requestedSubtree.equalsIgnoreCase("lines"))      printDOMTree(lines, out);    else if (requestedSubtree.equ

Javascript实现高性能动画与页面渲染

No setTimeout, No setInterval 如果你不得不使用setTimeout或者setInterval来实现动画,那么原因只能是你需要精确的控制动画.但我认为至少在现在这个时间点,高级浏览器.甚至手机浏览器的普及程度足够让你有理由有条件在实现动画时使用更高效的方式. 什么是高效 页面是每一帧变化都是系统绘制出来的(GPU或者CPU).但这种绘制又和PC游戏的绘制不同,它的最高绘制频率受限于显示器的刷新频率(而非显卡),所以大多数情况下最高的绘制频率只能是每秒60帧(frame