<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
#dbg {
font-family: "Helvetica", cursive, sans-serif;
border: 1px solid black;
width: 600;
}
body {
background:#000;
color:white;
font-family: Arial,Helvetica,Sans-serif;
}
a {
color: #009de9;
outline: none;
}
a:hover {
text-decoration: none;
}
</style>
<link rel="shortcut icon" href="http://www.dougx.net/favicon.ico">
<title>HTML5战机游戏</title>
<!---- javascript includes --->
<!---- open license with citation to dougx.net--->
<script type="text/javascript" src="Sound.js"> </script>
<script type="text/javascript" src="Background.js"> </script>
<script type="text/javascript" src="Mouse.js"> </script>
<script type="text/javascript" src="Loader.js"> </script>
<script type="text/javascript" src="FloatyText.js"> </script>
<script type="text/javascript" src="Keyboard.js"> </script>
<script type="text/javascript" src="Collision.js"> </script>
<script type="text/javascript" src="AfterEffect.js"> </script>
<script type="text/javascript" src="PeaShooter.js"> </script>
<script type="text/javascript" src="Laser.js"> </script>
<script type="text/javascript" src="LevelDirector.js"> </script>
<script type="text/javascript" src="Sortie.js"> </script>
<script type="text/javascript" src="Enemy.js"> </script>
<script type="text/javascript" src="Powerup.js"> </script>
<script type="text/javascript" src="Shot.js"> </script>
<script type="text/javascript" src="EnemyShot.js"> </script>
<script type="text/javascript" src="Ship.js"> </script>
<script type="text/javascript">
//
// thanks for viewing the code, feel free to reuse.
// if you do, please link to my site! thanks!
//
var g_canvas;
var g_context;
var g_soundsLoaded;
var g_isChr;
var g_onscreenControls;
var g_paused;
var g_renderInterval;
var g_clockInterval;
var g_totalItems;
var g_itemsLoaded;
var g_background;
var g_foreground;
var g_ship;
var g_gameState;
var g_highScore;
var g_powerups;
var g_floatyText;
var g_projectiles;
var g_enemyProjectiles;
var g_enemies;
var g_afterEffects;
var g_rainbow;
var g_basicShotSound;
var g_laserShotSound;
var g_dinkSound;
var g_smallExplodeSound;
var g_bonusSound;
var g_explodeSound;
var g_artifact_chard_sound;
var g_double_sound;
var g_gem_sound;
var g_gun_sound;
var g_shot_sound;
var g_speed_sound;
var g_levelDirector;
var g_shotsFired;
var g_shotsRequired;
var g_accuracy;
var g_showAccuracy;
var g_enemiesDestroyed;
//
// main() is called once the game has loaded and the user has clicked
// on the "new game" button on the splash screen. This is a clean slate
// with no registered timers or event listeners.
//
function main()
{
var level_1_loop = document.getElementById("level_1_loop");
var bossLoop = document.getElementById("boss_loop");
//dbg("engine = " + navigator.userAgent, false);
g_rainbow = new Array("yellow", "orange", "white", "red");
document.addEventListener('keydown', keyDown, false);
document.addEventListener('keyup', keyUp, false);
if ( g_basicShotSound == null )
{
g_basicShotSound = new Sound("basic_shot",5);
g_laserShotSound = new Sound("laser",5);
g_smallExplodeSound = new Sound("small_explode",5);
g_bonusSound = new Sound("bonus_sound",4);
g_explodeSound = new Sound("explode", 3);
g_artifact_chard_sound = new Sound("artifact_chard_sound", 2);
g_double_sound = new Sound("double_sound", 2);
g_gem_sound = new Sound("gem_sound", 4);
g_gun_sound = new Sound("gun_sound", 2);
g_shot_sound = new Sound("shot_sound", 3);
g_speed_sound = new Sound("speed_sound", 3);
}
g_highScore = 0;
g_gameState = "setup";
g_levelDirector = new LevelDirector();
//
// telling the level director to start will put the clock and
// render loops on interval timers
//
g_levelDirector.startLevel();
}
//
// map a sound name to a global audio object
//
function lookupSound(name)
{
if ( name == "double_sound" )
return g_double_sound;
else if ( name == "gem_sound" )
return g_gem_sound;
else if ( name == "gun_sound" )
return g_gun_sound;
else if ( name == "shot_sound" )
return g_shot_sound;
else if ( name == "speed_sound" )
return g_speed_sound;
dbg("Failed sound lookup: " + name, false);
return null;
}
//
// the level director will kick off an interval that calls
// this function every 100ms
//
function clockLoop()
{
if ( g_paused )
return;
g_levelDirector.myClock += 100;
//dbg("Clock = " + g_levelDirector.myClock, false);
g_levelDirector.launchSorties();
g_levelDirector.gameEvents();
}
//
// the LevelDirector will kick off an interval that calls this function
// which redraws the entire screen. that interval determines the game's
// fps.
//
function renderLoop()
{
if ( g_paused )
return;
g_background.render();
g_ship.render();
var remainingPowerups = new Array();
for (var i = 0; i < g_powerups.length; ++i)
{
if (g_powerups[i].render())
{
remainingPowerups.push(g_powerups[i]);
}
else delete g_powerups[i];
}
delete g_powerups;
g_powerups = remainingPowerups;
var remainingText = new Array();
for (var i = 0; i < g_floatyText.length; ++i)
{
if (g_floatyText[i].render())
{
remainingText.push(g_floatyText[i]);
}
else delete g_floatyText[i];
}
delete g_floatyText;
g_floatyText = remainingText;
var remainingEnemies = new Array();
for (var i = 0; i < g_enemies.length; ++i)
{
if (g_enemies[i].render())
{
remainingEnemies.push(g_enemies[i]);
}
else delete g_enemies[i];
}
delete g_enemies;
g_enemies = remainingEnemies;
var remainingProjectiles = new Array();
for (var i = 0; i < g_projectiles.length; ++i)
{
if (g_projectiles[i].render())
{
remainingProjectiles.push(g_projectiles[i]);
}
else delete g_projectiles[i];
}
delete g_projectiles;
g_projectiles = remainingProjectiles;
var remainingEnemyProjectiles = new Array();
for (var i = 0; i < g_enemyProjectiles.length; ++i)
{
if (g_enemyProjectiles[i].render())
{
remainingEnemyProjectiles.push(g_enemyProjectiles[i]);
}
else delete g_enemyProjectiles[i];
}
delete g_enemyProjectiles;
g_enemyProjectiles = remainingEnemyProjectiles;
var remainingAfterEffects = new Array();
for (var i = 0; i < g_afterEffects.length; ++i)
{
没有合适的资源?快使用搜索试试~ 我知道了~
HTML5实现的网页游戏太空战机源码.zip
共70个文件
png:43个
js:17个
ogg:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 118 浏览量
2022-11-04
23:41:48
上传
评论
收藏 3.45MB ZIP 举报
温馨提示
HTML5实现的网页游戏太空战机源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
HTML5实现的网页游戏太空战机源码.zip (70个子文件)
132689914006279734
level_2_loop.ogg 1MB
LevelDirector.js 19KB
sky.jpg 40KB
splode_1.png 2KB
splash_screen.jpg 47KB
enemy_small_4.png 1KB
starfield.jpg 82KB
PeaShooter.js 2KB
Ship.js 10KB
ship_center.png 7KB
ship_death_7.png 2KB
double_image.png 2KB
EnemyShot.js 2KB
loading.png 11KB
splode_6.png 2KB
ship_down_3.png 5KB
splode_2.png 2KB
shot_image.png 663B
enemy_artifact_2.png 4KB
level_1_preloop.ogg 267KB
ship_death_2.png 7KB
foreground.png 159KB
Mouse.js 8KB
splode_3.png 3KB
ship_death_6.png 9KB
enemy_small_2.png 1KB
gem_image.png 2KB
ship_death_3.png 7KB
loading_music.ogg 122KB
boss_loop.ogg 620KB
foreground_light.png 170KB
Background.js 1KB
artifact_skull.png 4KB
ship_death_4.png 8KB
Shot.js 2KB
index.html 21KB
title.png 13KB
ship_up_3.png 5KB
Laser.js 2KB
enemy_small_3.png 1KB
speed_image.png 2KB
ship_death_5.png 8KB
Powerup.js 5KB
command_ship.png 3KB
splode_4.png 4KB
level_1_loop.ogg 687KB
ship_down_2.png 5KB
splode_7.png 998B
Sound.js 3KB
ship_icon.png 2KB
Keyboard.js 1KB
Sortie.js 831B
enemy_artifact.png 1KB
FloatyText.js 934B
ship_up_2.png 6KB
ship_death_1.png 7KB
level_passed.ogg 181KB
AfterEffect.js 2KB
enemy_small_4_special.png 1KB
artifact_chard.png 7KB
enemy_small_2_special.png 1KB
Collision.js 1KB
Enemy.js 6KB
Loader.js 4KB
ship_up_1.png 6KB
ship_down_1.png 6KB
enemy_small.png 1005B
splode_5.png 4KB
gun_image.png 2KB
enemy_small_special.png 1KB
共 70 条
- 1
资源评论
毕业_设计
- 粉丝: 1935
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功