happyzhangyin 2012-08-28
随着浏览器(PC/Mobile)功能的不断增强,特别是近几年来HTML5系列技术,CSS3及JS引擎的快速发展,使用传统的Web前端开发技术来开发网页已经成为了一个新的趋势。就我个人个遇到的几个框架及近期别人推荐的进行一些分析。主要针对使用HTML+CSS+JavaScript技术来开发游戏的技术做一分类,其它第三方语言实现的中间件平台只在最后简要介绍。
HTML Web Games的游戏开发,目前主要有以下三类方式:
当然,介于这三类之间的混合方式也有人已经在尝试,类似于目前比较火的Hybird Native Web App的理念,毕竟,只要能快速,高效解决问题的技术才是好技术。
由于HTML5技术这两年的迅速普及,大多数入门的游戏开发入门者,主要接受的是使用Canvas技术来开发游戏。但对于使用纯DOM+CSS的传统技术组合开发游戏与Canvas开发游戏二者性能上的比较,很多资深开发者们,不停地做着性能测试,来支持自己的观点。主要是基于以下考虑:canvas提供的API太基础了,游戏开发者如果使用canvas,就意味着放弃了CSS这个浏览器“亲生的”样式工具。于是接着就涌现出了很多基于canvas的库,来辅助开发者快速开发游戏。但这些canvas库的封装性能来渲染图像的性能与使用DOM+CSS进行图片渲染的性能的PK目前还未有定论。就个人的测试,小游戏开发方面性能差别可以忽略。前端界有一个大拿做了一个js动画库,基于同一套代码生成基于canvas,webgl,css 各自渲染的效果,很不错(http://labs.hyperandroid.com/static/caat/)。
下面对于目前比较流行的一些游戏工具库进行介绍。
ImpactJS是目前最强大的一个js 2D游戏开发平台,当然是商业版的(http://impactjs.com),(国内有一个山寨者做了一个http://www.kilofox.net/, 直接拿人家的源码来卖,太TMD不要脸了)。不管是新手还是资深的开发者,使用这个库都可以快速开发出来游戏。作者很nice,半年前我以研究者的身份买了一份进行了测试,基本上照着示例不到十分钟就做出来了一个带简单AI的小游戏.
从平台本身的角度,这款框架有以下特性:
查看ImpactJS本身的代码架构,可以看到,它包括了制作一款游戏的各个方面:
四月的时候,Jesse Freeman 出了一本《Introducing HTML5 Game Development》的书,全程引导开发者用 Impact 创建游戏。它涵盖了从建立工作环境到游戏打包发布的所有内容。横向对比而言,ImpactJS算是目前相当不错的一款基于canvas的游戏引擎。
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...
一个客户要求给网站添加一个背景音乐,我用的是html5添加网页背景音乐的代码,在此记录一下以后有用。html5方法二:<videocontrols=""autoplay=""name="media&q