网页游戏开发一.doc
文本预览下载声明
网页游戏开发入门教程三(简单程序应用)
一、选择开发语言后台:java .net php前台:flex javascript ajax数据库:mysql mssql
用哪种组合,真的不重要。重要的是时间和成本。复杂的地方在数据的交互和完善,而不在技术或效果的实现。往往遇到一些问题。比如地图如何编?人物移动如何实现?其实这些问题从技术上实现都比较容易。难在实现后,数据如何交互。没有解决数据交互的问题,实现这些技术点的意义不大。我用的是php+javascript+mysql。原因:简单,上手快。可以比较快速的出产品。
二、程序简单应用。1、模板为了方便UI的修改。所以用模板。smart template还算方便。很简单。代码也可以嵌套在模板里。唯一的问题是如果美术不会程序,修改模板还得程序来。不科学啊。smart template的教程网上有。只说一点。可以在模板(.html的文件)里用?php ?嵌套任何代码。获得传值。用$_obj[‘xxx’]或者用$_stack[0][‘’]可以和{xxx}写法的代码嵌套。跟.php的文件一样,没任何区别。2、地图因为游戏类型不是ogame模式的,所以地图并不是自动生成。而是全从数据库里调用。思路很简单。地图是一整张大图。切成多个小图块。数据库里记录下每个小图块对应大图的绝对坐标。显示的时候,调用相应坐标区域的小图块。代码类似:
1$sql=select * from mapwhere mapxbetween $xxxand $xxxand mapybetween $ yyyand $yyy ;
意思就是从地图表里,获得横坐标xx到xx。纵坐标xx到xx的所有小图块。比如20个。假设我们写个函数showMap(x,y),把获得的数据全显示出来。地图可以有很多层。每个小图块都是一个div。具体的控制就用css就行了。小图块可以当作div的背景。也可以用作div里的图片。控制好div的left和top就行了。(left和top就是小图块相对于大图块的绝对坐标)showMap(x,y)就放在下面两个层的里面。一个层处理地图大小:
1div style=\position:relative;width:.$mapwidth.px;height:.$mapheight.px;overflow:hidden\
一个层处理拖动:
1div style=\position:absolute;z-index:10;left:2px;top:2px;width:.$mapwidth.px;height:.$mapheight.px;\ onmousedown=\fDragging(this, event,false);\ 2 3//处理拖动的js代码。(网上抄的。。感谢这位大大。) 4script 5 function fDragging(obj, e, limit){ 6 if(!e) e=window.event; 7 var x=parseInt(obj.style.left); 8 var y=parseInt(obj.style.top); 9 10 var x_=e.clientX-x;11 var y_=e.clientY-y;12 13 if(document.addEventListener){14 document.addEventListener(mousemove, inFmove,true);15 document.addEventListener(mouseup, inFup,true);16 document.body.style.cursor=move;17 }else if(document.attachEvent){18 document.attachEvent(onmousemove, inFmove);19 document.attachEvent(onmouseup, inFup);20 document.body.style.cursor=move;21 }22 23 inFstop(e);24 inFabort(e)25 26 function inFmove(e){27 28 var evt;29 if(!e)e=window.event;30 31 if(limit){32 var op=obj.parentNode;33 var opX=parseInt(op.style.left);34 var opY=parseInt(op.style.top);35 36 if((e.clientX-x_)0)return false;37 else if((e.c
显示全部