论坛首页 Web前端技术论坛

JSGF(JavaScript Game Framework),示例游戏最新发布。

浏览 8352 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-10-14   最后修改:2011-05-19
1945游戏DEMO的最新地址

游戏截图:



坦克游戏DEMO的最新地址

游戏截图:


反馈可发至我的Blog


=============最初的留言===============
今天刚过完国庆,发布JSGF的一个游戏DEMO,偶然逛到JavaEye前端论坛,发现也有很多人写JS游戏。
界面都做得不错,看了一下源代码,代码质量相当不良(无底层框架支持,类层次杂乱,API较弱,对象抽象度低或无,数据结构低效不合理,代码普遍低内聚高耦合。。。)。
再加上前端工程师所特有的、喜欢在代码中硬编码(直接“微操”写样式和坐标等,自认为又“自由”又“敏捷”),导致代码质量问题愈加严重。不论自己还是别人,阅读、修改和维护都难上加难,最终导致无法重构只能重写。

和我以前发现的一个共性有关:前端工程师们的面向对象的设计、编程能力普遍较弱,而框架级的设计能力更是缺乏。欢迎大家研究、学习JSDK中的JSGF代码。
看看游戏框架级代码如何实现之。因为框架使更多人可以更简单、方便的编写任何游戏。 [/size]



  • 大小: 17.8 KB
  • 大小: 20.3 KB
   发表时间:2010-10-14   最后修改:2011-05-19
我们来学习一下如何在JSGF下写游戏,以坦克游戏为例(tank-demo.html)。

1、页面加载以下类库:
<!-- JSDK核心库 --> 
<script language="JavaScript" type="text/javascript" src="../../source/core/js-core.js"></script> 
<!-- JSDK多线程类库 --> 
<script language="JavaScript" type="text/javascript" src="../../source/core/js-thread.js"></script> 
<!-- JSDK国际化类库 --> 
<script language="JavaScript" type="text/javascript" src="../../source/core/js-i18n.js"></script> 
<!-- JS2D动画类库 --> 
<script language="JavaScript" type="text/javascript" src="../../source/js2d/js-anim.js"></script> 
<!-- JS2D核心类库 --> 
<script language="JavaScript" type="text/javascript" src="../../source/js2d/js-2d-core.js"></script> 
<!-- JSGF核心库 --> 
<script language="JavaScript" type="text/javascript" src="../../source/jsgf/js-game-core.js"></script>


2、在tank-demo.js中,定义以下类:

js.game.demo.tankbrigade.Bullet   extend js.game.Sprite; 
js.game.demo.tankbrigade.Tank     extend js.game.Sprite; 
js.game.demo.tankbrigade.TankGame extend js.game.Game;
js.game.demo.tankbrigade.Mission  extend js.game.Mission;

以及一些常量类的定义。

3、最后实例化一个TankGame,加载关卡数据并运行。
var m1 = new js.game.demo.tankbrigade.Mission(def1); 
var m2 = new js.game.demo.tankbrigade.Mission(def2); 
			
var game = new js.game.demo.TankGame(...); 
game.init([m1,m2]);
game.start();


4、你可以自己修改一些常量设置,或者添加更多关卡,观看运行效果。

此坦克游戏的DEMO已实现了最主要的功能(自带2关),不到600行代码(其中:游戏数据代码150余行)。
对象结构清晰、严谨,有良好的重用性与扩展性,是JSGF基础上游戏开发的标准范例。


0 请登录后投票
   发表时间:2010-10-14  
lz说的极是,网页js游戏需要大家的力量来规范化,在下受教了。
0 请登录后投票
   发表时间:2010-10-14  
最近tank游戏泛滥啊。
不过lz起码要推荐一个游戏框架,起码得实现一个过得去的demo吧。
0 请登录后投票
   发表时间:2010-10-21  
DEMO好多问题的。
0 请登录后投票
   发表时间:2010-10-27  
哈哈 IE6下 各种PNG悲剧了
0 请登录后投票
   发表时间:2010-11-26  
提供一种机制自动让IE6换gif。不过现在IE6不太值得考虑。

IE7,IE8下,png上再alpha滤镜半透明(比如需要渐显渐隐)就黑边了,这个无解。

另外,你这个框架仅仅只适合用来写和你这个坦克很类似的游戏类型吧?
不过,有些东西的公用性还是很明显的,比如动画、碰撞、积分、存储、地图等。
0 请登录后投票
   发表时间:2010-12-01   最后修改:2010-12-01
To cuixiping :

1)另外,你这个框架仅仅只适合用来写和你这个坦克很类似的游戏类型吧?
如果你比较了解游戏框架API或是阅读过我的JSGF的API,我想你就不会提这个问题。

2)另外,我建议你的游戏转移至JSGF框架下来开发。
因为我扫了一眼你的游戏源码,实在有点....(评价省略)
   
0 请登录后投票
   发表时间:2010-12-02  
fch415 写道
To cuixiping :

1)另外,你这个框架仅仅只适合用来写和你这个坦克很类似的游戏类型吧?
如果你比较了解游戏框架API或是阅读过我的JSGF的API,我想你就不会提这个问题。

2)另外,我建议你的游戏转移至JSGF框架下来开发。
因为我扫了一眼你的游戏源码,实在有点....(评价省略)
   

1)还没去了解你写的游戏框架,有时间一定去拜读。看了一下你的js文件名,大致知道了你的一些方向。
我认为它的涵盖面还是很有限的。当然我很钦佩你的这个开发。
2)我的代码我承认不是很高质量的,也没有去考虑○○,我侧着点并没有在js代码,因为我写的游戏比较简单,几百行代码我不会想要OO或者用框架。
一般我就是图片+1个css+1个js+1个htm。
我更侧重于提高游戏娱乐性,让它更好玩更易玩。
0 请登录后投票
   发表时间:2010-12-08  
收藏回家看。
游戏框架一般来说比较有倾向,
比如3D类,RPG类,射击类等
偶自己的没想做成框架
只想专针对自己的
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics