基于HTML5与Nodejs 开发实时性网
页对战游戏坦克大战
The Development of Battle City Web Page
Game Based on HTML5and Nodejs
学院:信息科学与工程学院
专业班级:计算机科学与技术0703班
学号:070405066
学生姓名:王潇
指导教师:无
2011年06
摘要
随着互联网技术的不断发展和计算机性能的不断提升,用户享受互联网的方式也开始不断的变化,越来越多的应用可以直接以浏览器打开的方式使用,数据则是存储在云端,更加的安全可靠,方便用户共享数据。在各种应用不断的趋于更加网络话的同时,一种新的技术标准也随之产生,那就是HTML5(HTML是一种标记语言也是一种标准,互联网开发居于此)。HTML5是近十年来Web(互联网)标准最巨大的飞跃,和以前的版本不同,HTML5并非仅仅用来表示Web内容,它的使命是将Web带入一个成熟的应用平台,在这个平台上,视频、音频、图象和动画,以及同电脑的交互都被标准化。也就是说HTML5是通过开放的技术和标准来实现一个无插件模式的富客户端,这个客户端可以在移动终端、PC(个人计算机)或者其他可以有网络的地方轻松的运行。所以此时研究HTML5,并且大胆的实践有着重要的意义。
课题内容是使用HTML5技术基于Web的环境来制作一个网络版的“坦克大战”游戏应用,该游戏使用了HTML5中的Canvas(画布)、WebSocket(HTML5中最新使用的一种网络连接协议,用于实时通讯)、Audio(HTML5中控制声音的技术)等最新的技术。目前HTML5标准尚未成熟,很多地方仍在变动,API(应用程序接口)仍不是很稳定,所以还无法真正的完全商用或者全部普及开,但这并不会
影响我们来研究它。服务器端采用的Nodejs(一种Javascript程序语言框架,可以在服务器端运行Javascript 语言)这种新型的框架来开发,Nodejs使用Javascript语言来开发,使整个应用从客户端到服务器端编程都是使用Javascript,大大的减少学习成本和开发成本,并且Nodejs 性能强大,有很大的研究价值。
该游戏服务器运行后,用户可以直接通过浏览器打开,实时的同其他玩家在游戏中对战,简单高效并且有声音和实时性的数据传输。用户可以用键盘控制自己的坦克,在地图中和自己的队友配合去攻击另一队的坦克来获取胜利,整个游戏趣味性很强。
关键词:HTML5;互联网实时性通信;Nodejs;网络游戏
Abstract
With the increasing development of the Internet technology and the constantly rising of the computer performance,users also begin to enjoy the Internet in the constantly changed ways.More and more application can be directly use in the way of opening the browser,data are stored in the clouds,and therefore it’s more safe and reliable and continent for users to share data.In the same time of various application continuously tends to be more webified,a new standard of technology is produced,which is HTML5.HTML5is the most giant leap of Web standards in nearly10years and it is different from the
previous version.HTML5is not only used to express the content of the Web,meanwhile,its mission is to bring the Web into a mature application platform,on which the video,audio,image and animation,and the interaction of computers are all standardized.That is to say that through the opening technology and standards HTML5achieves a no plug-ins model of client.The client can be operated in the mobile terminal,PC or other places which have the network.Therefore,it has significance to study and boldly practice the HTML5.
The contents of the subject topics is to use the HTML5create a Web edition of"tank war"game application based on the environment of Web.The game operates the Canvas, WebSocket,Audio and some latest technology.At present,the standards of HTML5have not yet mature and some points are still in the variation and API still is not very stable,so it can't be completely commercial or in a good popularization.However,we can still have a good study of it.The server is used Nodejs,a new Javascript framework,to develop.Nodejs is used Javascript to develop,which makes whole application,from the client to the server,using Javascript to program,greatly reduce the cost of learning and development costs.Meanwhile, Nodejs has the strong function and have the great value to study.
After the operation of the game,users can directly open it through the browser and against with other
players,with a simple,effective,voiced and data transmission of real-time. Users can use the keyboard to control their tanks and to attack another team to win the game with his teammates in the map.The whole game has a strong sense of interesting.
Keywords:HTML5;i nternet real-time communications;Nodejs;online games
目录
摘要................................................................................................................................II 第1章引言.. (1)
1.1课题的目的和意义 (1)
1.2国内外发展现状 (2)
1.3课题主要的内容和功能介绍 (4)
1.3.1课题主要的内容 (4)
1.3.2坦克大战游戏功能介绍 (5)
第2章相关技术及开发方法简介 (6)
2.1相关技术简介 (6)
2.1.1HTML5标准简述及意义 (6)
2.1.2网络实时性技术及WebSocket (7)
2.1.3Nodejs简介 (11)
2.2开发工具及运行环境 (13)
2.2.1Web开发工具和Aptana简述 (13)
2.2.2浏览器发展和Chrome浏览器介绍 (14)
第3章游戏玩法设计和需求分析 (17)
3.1游戏玩法设计 (17)
3.2需求分析 (17)
3.2.1系统角 (17)
3.2.1用例分析 (17)
第4章总体设计及程序功能分析 (18)
4.1程序总体功能设计 (18)
4.1.1程序功能模块分析 (18)
4.1.2地图读取及共享分析 (19)
4.1.3声音的控制分析 (19)
4.1.4联网对战分析 (19)
4.2程序流程 (20)
4.3模块及对应的方法 (22)
第5章详细设计 (26)
html网页设计论文5.1服务器端设计 (26)
5.1.1服务器端的运行环境 (26)
5.1.2服务器端的设计 (26)
5.1.3服务器端部分代码 (27)
5.2地图功能模块 (28)
5.2.1读取地图 (28)
5.2.2绘制地图 (28)
5.2.2地图模块部分代码 (29)
5.3坦克模块的设计 (31)
5.3.1读取服务器端信息 (31)
5.3.2控制坦克 (31)
5.3.3绘制画面 (31)
5.3.4坦克模块的部分实现代码 (31)
5.4炮弹模块的功能 (35)
5.4.1读取服务器端信息 (35)
5.4.2碰撞检测 (35)
5.4.3击毁功能 (35)
5.4.4绘制画面 (35)
5.5客户端与服务器端通信 (35)
第6章结论 (37)
参考文献 (38)
致谢 (40)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。