资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
网页游戏开发简明教程网页游戏开发简明教程2010-01-21 09:59一、简单的程序框架。webgame程序构成:三大部分。第一是数据流程。第二是程序。第三是美术。其中,数据流程包括了功能。也只有在功能中才能体现数据流程。数据流程相当的麻烦,后面再讨论。比如最简单的卖买产品。要实现这个功能。那么需要有产品基础表、产品详细表、商店表、背包表。如果扩展性更强,相应的双表是少不不了的。表的问题都简单了。关键是这个物品有什么用。这样物品的来源,一大堆数据,物品的走向,又是一大堆数据。最后,这些数据得绕成一个圈。绕圈是一件困难的事情。特别是功能和道具多了起来的时候。难度是2的n次方。美术:UI。简洁漂亮的界面总会有好处。小图标。道具,地图,装备。一类至少10个吧?大体上百把个是需要的。程序分5个部分:服务器定时器。(C语言或自己设定服务器)定时循环执行某一段代码。而这段代码主要是根据数据库的数据进行更新。这个可以找个C语言程序员来做。对于C语言程序员来讲,这个功能是相当的简单。当然,具体的处理数据的判断和操作数据库,需要你自己写。让C语言程序员给你段标准代码就行了。完全支持sql语句的。功能页面、功能函数。主要就是数据存取,判断,数据走向。ajax函数。(可选)某些需要伪即时的功能要用到。javascript函数。(可选)模拟客户端的数据计算。也就是webgame的与时间相关的数据。分为两部分。一部分是真实数据,是由服务器端的定时器计算的。另一部分是只有初始值,客户端显示用的。不需要即时同步,仅仅需要模拟同步就行。数据库。一大堆基础数据表和详细数据表。基础数据表:比如等级1到等级100的用户的属性初始值。详细数据表:每个用户的具体属性。二、一个详细的例子。单纯的讨论数据流程是件痛苦的事情。讨论程序而不给代码也是比较痛苦。这里用的是php+mysql的。那就按一个超简单的webgame的方式来讨论。配上适当的代码。应该有所帮助。不足的地方也请大家指出,对我个人也是帮助。我们不去考虑游戏的可玩性,数值平衡等等问题。我们先只考虑一个简单例子的实现。那么一个webgame的基本内容需要些什么呢?数据库:玩家、地图、城市、建筑、武器、士兵。功能:登陆、升级、个人战斗、士兵之间的战斗、与城市的战斗、修建建筑、打造武器、买卖道具。(注意:每一个功能,必然对应1个或多个数据表。上面数据库中所列的只是基础中的基础。)首先是地图、城市、建筑。这里认为,地图可以有多张,城市在地图上,建筑在城市内。地图表Map:Map_ID,X坐标,Y坐标,City_ID(城市ID),描述。其中Map_ID是指地图的id。不是自动编号。一张地图就是一个Map_ID,可以重复。城市表City:City_ID,城市名字,城市所有人,城市等级,城市资源,描述。建筑表Build:ID,City_ID,建筑名称,建筑等级,建筑功能。其中,地图表确定城市的位置,城市表确定城市的相关数据以及所有人,建筑表内的多条信息属于某一个城市。建表后,显示出来。一个for循环。把地图表整个取出来就ok。跟普通网站的新闻列表没太大区别。不同的是,你需要取得X坐标和Y坐标定位。可以用tabel也可以用div。class Map/地图类var$Map_ID;function Map_bg_css($Map_ID)$this-Map_ID=$Map_ID;mysql_select_db($db_name,$link);$sql=select*from map where Map_ID=.$this-Map_ID.limit 1;$result=mysql_query($sql,$link);echostyle type=.text./.css;$rs=mysql_fetch_array($result);echo#map;echoposition:absolute;echowidth:.$rsX坐标.px;echoheight:.$rsY坐标.px;echoz-index:0;echoleft:0px;top:0px;function Map_bg($Map_ID)$this-Map_ID=$Map_ID;$sql=select*from map where Map_ID=.$this-Map_ID.;$result=mysql_query($sql,$link);while($rs=mysql_fetch_array($result)echodiv id=Layer_bg_.$rsX坐标._.$rsY坐标.;echoimg src=.$rsMap_bg.border=0 title=.$rsID./div;上面是一个很简单的地图类。代码可能不太正确,意思是正确的。就是根据map表中的坐标,生成了一组div层,以及这一组层的css。你可以改为table的。你可以也把坐标放到一个字段里,用数组的形式取。使用的时候,用new map;map(N);其中N是map表里的地图Map_ID.城市内的建筑也类似。如果要显示出来的话。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号