先上个效果图:
选型:jquery,php,mysql。我喜欢jquery,灵活,强大的选择器,还算够用的ajax功能,还有丰富的plugin,以及effects,这些对于做webgame都是很有用的。php打算用框架来做,不过我php也是半吊子,现在在cakephp跟国产的fleaphp中犹豫不决。mysql,无条件选用
=正文=
由于我很想做一个战斗系统来玩,类似war3里面迷雾探索的,所以不管3721,js直接从战斗系统开始写。晚上写了一会,大概整出这样的代码。
var battle = {
//can accect a random map
createMap:function(map){
var defaultMap = [ //定义默认地图,字母分别对应css的类名
['g','r','f','f','f','r','f','w'],
['w','g','f','f','f','r','g','f'],
['w','r','g','f','f','g','f','r'],
['f','r','f','f','f','r','f','f'],
];
//函数传递进来的参数判断
if(boboUtil.isUndefined(map) || map.length == 0){
map = defaultMap;
}
//将2维数组转化为1维数组
var mapSequence = new Array();
for(var i=0;i<map.length;i++){
mapSequence = mapSequence.concat(map[i]);
}
//计算地图的宽,即横向总共几个格子
var fieldWidth = map[0].length;
//设置地图的总宽度
$("#battleField").width(fieldWidth*50);
//为每个格子设置对应的css类,即渲染地图
$("#battleField div").each(function(i){
//create map
if(i > mapSequence.length )
return false;
$(this).addClass(mapSequence[i]);
//设置格子的坐标
//set x,y index
var x = i % fieldWidth +1;
var y = Math.floor(i / fieldWidth +1);
$(this).attr("id",""+x+y);
});
}
};
实现原理:
- 页面上先添加适当数目的空div,我觉得用js添加div可能存在性能问题,所以直接html里面放置一些空的div,作为地图元素。
- 定义一系列的css,为不同格子地图设置好宽高与背景色,实际运用时候这些背景可以换成图片什么的。
- 定义一个map的数组,这个数组保存地图的信息,即地图每个格子的css类名,通过js,将这些css类名添加到每个div中
<div id="battleField">
<div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div>
</div>
div.f{
background:#666;
height:50px;
width:50px;
}
div.r{
background:#000;
height:50px;
width:50px;
}
div.w{
background:#FFF;
height:50px;
width:50px;
}
div.g{
background: #DDD;;
height:50px;
width:50px;
}
div#battleField{
width:700px;
border: 1px solid #999;
float: left;
}
div#battleField div{
float: left;
}
最近业余时间想找点事情做,看我家MM似乎回家都比较无聊,就一个劲看片,就想给她写个webgame玩吧,至于为什么不做其他的游戏啥的,好吧,我承认我只会web。也想练练自己的JavaScript,提高下js水平,虽然对js很有兴致,但是工作方面都是做java,再下去就荒废了。
个人技术水平一般
肯盼高人指点一下,有指教才有提高。诚挚感谢
最后顺便附上一个简单的时间测试代码,使用console.log,请在firefox用firebug查看,当然,如果是IE,可以把这句换成alert。用法简单,在页面上写:
executeTimeTest(yourFunction())
var executeTimeTest=function(func){
var start = 0;
var end = 0;
start = new Date().getTime()
for(i = 0; i < 10000000; i++) {
func;
}
end = new Date().getTime();
console.log((end - start) / 1000+'s');
};
- 大小: 6.3 KB
分享到:
相关推荐
webgame开发简明教程 这篇是挺实用的教程, 不过有些观点还是值得商榷 我觉得服务器定时器用计划任务调用脚本就可以实现,比如linux下用crontab定时执行某个php脚本,更新数据就可以。 研究所有点缺乏资料啊。讨论...
资源名称:webgame网页游戏开发设计简明教程 中文WORD版本文档是webgame网页游戏开发设计简明教程;webgame程序构成:三大部分。第一是数据流程。第二是程序。第三是美术。其中,数据流程包括了功能。也只有在功能中...
适合初学者! 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gogo313/archive/2009/02/24/3933603.aspx
于2007夏天完成的一个不完整的webgame引擎 还没有完成AI部分
给大家贡献一遍比较好的webgame引擎开发学习的资料,希望对webgame开发的人有帮助。
本引擎QQ交流群:73944013 ...1:php环境 推荐使用APMServ5.2.0 (一键配置php) 2:fms环境:fms2.0 登陆用户名:10001-10010 密码都是123456 不明白的可以进QQ群 本引擎QQ交流群:73944013 解压密码在包内的说明里!
WebGame的AS端开发心得 理解AS项目全局结构 打造相对通用的游戏代码库和开发流程
webgame_server 这是我的网页游戏服务器。 文件夹:chat_email 检查common common_server 示例归档game_log gate gm map php_config switch test tool world
最终幻想网页游戏,主要是用php开发,有兴趣的看一下
webgame源码 其中包括人物行走 地图动态加载等重要模块 非常适合FLEX WEBGAME 开发人员 提高技术 提高开发技巧 webgame的大概框架分层,是学习网页游戏开发非常好的资源!
webgame程序构成: 三大部分。 第一是数据流程。第二是程序。第三是美术。 其中,数据流程包括了功能。也只有在功能中才能体现数据流程。 数据流程相当的麻烦,后面再讨论。 比如最简单的卖买产品。 要实现这...
网页游戏开发设计简明教程 webgame程序构成: 第一是数据流程。第二是程序。第三是美术。
webgame asp javascript在线游戏 源代码
这是一套完整的以php语言开发的webgame源码,是对一个webgame入门新手很好的练习机会。
在天地会论坛的讲师的讲课内容,是个PPT文档,里面的讲解很清晰
好玩的连连看webgame 注:网站必须支持JS
基于air的地图编辑器,可编辑背景、npc及人物
网页抓取 导入到 csv 表 在 js 中运行 python 删除千位分隔符逗号 require 未定义解决方法(不明白..)
flex webgame源码 其中包括人物行走 地图动态加载等重要模块 非常适合FLEX WEBGAME 开发人员 提高技术 提高开发技巧 webgame的大概框架分层
Flex 开发实例Flex 开发实例Flex 开发实例Flex 开发实例Flex 开发实例Flex 开发实例Flex 开发实例