[原创]业余时间写的一个飞行射击游戏

傲雪星枫 2014-05-24 01:28:54
游戏介绍:
业余时间写的一个飞行射击游戏,纵向,共六关。

游戏需求:
1.战机可发射子弹,子弹可通过获取道具升级。
2.战机可放bomb,可获取道具增加数量。
3.战机可蓄力攻击。
4.道具有三种,分别是升级子弹,增加bomb数量,增加战机数量。
5.每关音乐不同。
6.战机被击落后再进入战场,有保护状态。
7.敌机AI设计。

游戏图片:



部分代码截取:

/** 宇宙战机
* Author: fdipzone
* Date: 2013-02-12
* Ver: 1.0
*/
window.onload = function(){
var gameimg = [
'images/fighter.png',
'images/fighter_p.png',
'images/fighter_s.png',
'images/fighter_sp.png',
'images/shot.png',
'images/destroy.png',
'images/destroy_boss.png',
'images/enemy.png',
'images/bullet.png',
'images/gift.png',
'images/bomb.png',
'images/boss1.png'];

var callback = function(){
var gameplane = $('gameplane');
fighter.init();
fighter.bgmove(gameplane);
}
img_preload(gameimg, callback);
};


/** fighter class */
var fighter = (function(){

var hiscore = 10000; // 最高分
var score = 0; // 当前分
var fighternum = 3; // 战机数量
var bombnum = 3; // 炸弹数量
var ft = null; // 战机对象
var is_start = 0; // 是否已开始游戏
var is_bombing = 0; // 是否爆炸中
var is_lock = 1; // 是否锁定
var is_over = 0; // 是否已结束
var is_clear = 0; // 清屏
var is_pile = 0; // 是否已达成蓄力
var is_protect = 0; // 是否保护状态
var pilenum = 0; // 已蓄力数量
var ackey = {}; // 记录键是否按下
var keypriority = {}; // 冲突键优先级
var gamekey = [37,38,39,40,83,65]; // 游戏的按键
var scoretag = [0,20,30,40,50,60,500]; // 不同敌机的分数
var level = 1; // 关数
var power = 1; // 战机子弹威力
var cheatcode = []; // 记录cheat输入
var failtimes = 0; // 挑战失败次数



// 子弹升级
powerup = function(){
power = power+1>4? 4 : power+1;
}


// 炸弹增加
bombup = function(){
bombnum ++;
setHtml('bombnum', bombnum);
}


// 战机增加
fighterup = function(){
fighternum ++;
setHtml('fighternum', fighternum);
}


// 保护状态
setProtect = function(){
is_protect = 1;
if(is_pile==1){
setClass(ft, 'fighter_sp');
}else{
setClass(ft, 'fighter_p');
}
setTimeout(function(){
is_protect = 0;
if(is_pile==1){
setClass(ft, 'fighter_s');
}else{
setClass(ft, 'fighter');
}
}, 3000)
}


// 碰撞处理
impact_handle = function(obj, et){ // et 定时器
if(impact(obj, ft) && is_lock==0){ // 产生碰撞
if(is_protect==0){
destroy(ft);
clearInterval(et);
ft.parentNode.removeChild(obj);
}
}
}


完整游戏代码及下载:http://blog.csdn.net/fdipzone/article/details/8580181
...全文
588 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2014-06-03
  • 打赏
  • 举报
回复
引用 18 楼 flybee2010 的回复:
引用 17 楼 fdipzone 的回复:
[quote=引用 16 楼 wjfwd2010 的回复:] 草太难了完全不适合我这种残障人士
是有些难了。。[/quote] 下次做个简单的。
hookee 2014-06-01
  • 打赏
  • 举报
回复
傲雪星枫 2014-05-31
  • 打赏
  • 举报
回复
引用 19 楼 jslang 的回复:
引用 17 楼 fdipzone 的回复:
[quote=引用 16 楼 wjfwd2010 的回复:] 草太难了完全不适合我这种残障人士
下方一出飞机,几乎是必死 [/quote] 不是可以放B么。。
flybee2010 2014-05-31
  • 打赏
  • 举报
回复
引用 17 楼 fdipzone 的回复:
引用 16 楼 wjfwd2010 的回复:
草太难了完全不适合我这种残障人士
是有些难了。。
天际的海浪 2014-05-31
  • 打赏
  • 举报
回复
引用 17 楼 fdipzone 的回复:
引用 16 楼 wjfwd2010 的回复:
草太难了完全不适合我这种残障人士
下方一出飞机,几乎是必死
傲雪星枫 2014-05-30
  • 打赏
  • 举报
回复
引用 16 楼 wjfwd2010 的回复:
草太难了完全不适合我这种残障人士
傲雪星枫 2014-05-28
  • 打赏
  • 举报
回复
引用 11 楼 u011175581 的回复:
不错。。。在1366x768的分辨率下,垂直方向有滚动条,按上下滚动条会动,不知道有办法解决没?
在線遊戲:http://campaign.nmg.hk/event/2013/test/fighter/ 這個是修改過這個問題的,隱藏了滾動條解決,當然高度如果小與768就不考慮了。 html{overflow-x:hidden; overflow-y:hidden;} body{margin:0px; background:#000000; overflow-x:hidden; overflow-y:hidden;}
猿敲月下码 2014-05-28
  • 打赏
  • 举报
回复
不错哎
码无边 2014-05-28
  • 打赏
  • 举报
回复
牛!!!
u011175581 2014-05-28
  • 打赏
  • 举报
回复
不错。。。在1366x768的分辨率下,垂直方向有滚动条,按上下滚动条会动,不知道有办法解决没?
风吹腚腚凉 2014-05-28
  • 打赏
  • 举报
回复
草太难了完全不适合我这种残障人士
欢乐的小猪 2014-05-28
  • 打赏
  • 举报
回复
厉害
flybee2010 2014-05-27
  • 打赏
  • 举报
回复
支持原创,音乐令人回忆。 不错的游戏。
傲雪星枫 2014-05-26
  • 打赏
  • 举报
回复
引用 5 楼 jslang 的回复:
[quote=引用 4 楼 fdipzone 的回复:] [quote=引用 3 楼 jslang 的回复:] 很不错。不过敌机小兵的火力太猛了,比boss还猛 不得不把这行注解掉 //fighternum--;
至于吗,有30命密技的哦。。[/quote] 每次都上上下下左左右右的麻烦啊, 主要是本机的撞击判定的范围太大了,子弹不好躲避,明明还没撞到就死人了[/quote] 嗯嗯,之前设计也知道有这个缺陷,之前是用方形区域来比较碰撞的,改成以对象中心点做圆形区域比较会好些。
  • 打赏
  • 举报
回复
支持原创。
傲雪星枫 2014-05-26
  • 打赏
  • 举报
回复
引用 8 楼 u011322976 的回复:
支持原创~ 报道个BUG,在1366*768 chrome下按上下浏览器滚动条会跟着动~
已fixed.
多梦 2014-05-26
  • 打赏
  • 举报
回复
支持原创~ 报道个BUG,在1366*768 chrome下按上下浏览器滚动条会跟着动~
傲雪星枫 2014-05-25
  • 打赏
  • 举报
回复
天际的海浪 2014-05-25
  • 打赏
  • 举报
回复
引用 4 楼 fdipzone 的回复:
[quote=引用 3 楼 jslang 的回复:] 很不错。不过敌机小兵的火力太猛了,比boss还猛 不得不把这行注解掉 //fighternum--;
至于吗,有30命密技的哦。。[/quote] 每次都上上下下左左右右的麻烦啊, 主要是本机的撞击判定的范围太大了,子弹不好躲避,明明还没撞到就死人了
傲雪星枫 2014-05-25
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:
很不错。不过敌机小兵的火力太猛了,比boss还猛 不得不把这行注解掉 //fighternum--;
至于吗,有30命密技的哦。。
加载更多回复(2)

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧