很久之前自己写的太空游戏flash,游戏效果还不错哈哈,爽!,写得不好,呵呵:
1。
2.
部分代码如下:
/**
*Author:luodongfu
**/
import flash.events.Event;
import flash.events.TimerEvent;
import flash.net.URLRequest;
import flash.media.Sound;
import flash.events.KeyboardEvent;
import flash.ui.*;
import fl.transitions.Tween;
import fl.transitions.easing.*;
//敌人普通飞机的保存数组
var places:Array=new Array();
//敌人降落伞工兵数组
var sans:Array=new Array();
//我方发射的炮弹数组
var paos:Array=new Array();
//敌方发射的炮弹
var djPaos:Array=new Array();
//敌方的智能轰炸机
var djPlaces:Array=new Array();
var da:Number=10;
//我方的坦克
var tange:TanGeMC=new TanGeMC();
tange.x=300;
tange.y=350;
addChild(tange);
//按键左右建向左右移动我方坦克
stage.addEventListener(KeyboardEvent.KEY_DOWN,startMove);
//按空格建发射坦克炮弹
stage.addEventListener(KeyboardEvent.KEY_UP,faPaoFun);
//每贞侦听函数
stage.addEventListener(Event.ENTER_FRAME,onEnterFrameAction);
//炮弹爆炸声音
var paozhaRequest:URLRequest=new URLRequest("Fx12693_cannon4.mp3");
var paozhaSound:Sound=new Sound(paozhaRequest);
var djSPao:Number=0;
//降落伞爆炸声音
var sanBombSndRequest:URLRequest=new URLRequest("Fx13423_bomb1.mp3");
var sanBombSound:Sound=new Sound(sanBombSndRequest);
//坦克发射炮弹时声音
var kaiPaoRequest:URLRequest=new URLRequest("Fx12077_tankfire.mp3");
var kaiPaoSound:Sound=new Sound(sanBombSndRequest);
//定时产生几个一号敌机
var gPlaceTimer:Timer=new Timer(8000);
gPlaceTimer.addEventListener(TimerEvent.TIMER,createPlace);
gPlaceTimer.start();
//定时产生几个二号敌机
var rPlaceTimer:Timer=new Timer(10000);
rPlaceTimer.addEventListener(TimerEvent.TIMER,createPlace2);
rPlaceTimer.start();
//产生敌人智能轰炸机
var djPlace_mc:DJPlaceMC=new DJPlaceMC();
djPlace_mc.x=250+Math.random()*80;
djPlace_mc.y=100+Math.random()*20;
addChild(djPlace_mc);
djPlaces.push(djPlace_mc);
function removeSanListener(k:uint,san:LuoSanMC):void
{
san.removeSanListener();
removeChild(san);
sans.splice(k,1);
san=null;
trace("del san outsize of stage ok and the san size is "+(sans.length-1));
}
开始游戏,生成飞机坦克
function onEnterFrameAction(e:Event):void
{
for (var k:uint=0; k<sans.length; k++)
{
var isDelSan:Boolean=false;
var tempSan=sans[k];
for (var a:uint=0; a<paos.length; a++)
{
var tempPao=paos[a];
//如果炮弹击中降落伞,则降落伞移除并爆炸。报摊移除
if (tempPao.hitTestObject(tempSan))
{
tempSan.gotoAndPlay(2);
paozhaSound.play();
sans.splice(k,1);
tempSan=null;
isDelSan=true;
removeChild(tempPao);
paos.splice(a,1);
tempPao=null;
break;
}
}
if (isDelSan)
{
continue;
}
if (!isDelSan &&tempSan.hitTestObject(diMian_mc))
{
isDelSan=true;
sanBombSound.play();
removeSanListener(k,tempSan);
}
if (!isDelSan &&(tempSan.y>400 ||tempSan.x<0))
{
removeSanListener(k,tempSan);
}
}
for (var i:uint=0; i<places.length; i++)
{
var tempPlace=places;
tempPlace.x-=10;
var isDel:Boolean=false;
for (var n:uint=0; n<paos.length; n++)
{
var pao=paos[n];
if (pao.hitTestObject(tempPlace))
{
tempPlace.gotoAndPlay(3);
paozhaSound.play();
//removeChild(tempPlace);
places.splice(i,1);
tempPlace.stopSound();
tempPlace=null;
isDel=true;
removeChild(pao);
paos.splice(n,1);
pao=null;
var myRan:Number=Math.random()*10;
if(myRan>5)
{
createPlace(null);
}
else
{
createPlace2(null);
}
break;
}
}
if (!isDel&&tempPlace.x<0 )
{
removeChild(tempPlace);
places.splice(i,1);
tempPlace.stopSound();
tempPlace=null;
isDel=true;
continue;
}
var ran:Number=Math.random()*100;
if (ran>94 &&!isDel)
{
var san:LuoSanMC=new LuoSanMC(tempPlace.x+20,tempPlace.y+20);
this.addChild(san);
sans.push(san);
}
}
for (var m:uint=0; m<paos.length; m++)
{
var myPao=paos[m];
var delMyPao:Boolean=false;
for ( n=0; n<djPlaces.length; n++)
{
var djPlace=djPlaces[n];
if(djPlace.hitTestObject(myPao))
{
djSPao++;
if(djSPao>25)
{
djPlace.gotoAndPlay(2);
paozhaSound.play();
djSPao=0;
djPlaces.splice(n,1);
}
delMyPao=true;
removeChild(myPao);
paos.splice(m,1);
}
}
if(!delMyPao)
{
if (myPao.y<-5)
{
removeChild(myPao);
paos.splice(m,1);
continue;
}
myPao.y-=7;
}
}
var ran2:Number=Math.random()*100;
if (ran2>80 &&djPlaces.length>0)
{
newDPlacePao();
}
var ran3:Number=Math.random()*10;
if(ran3>=7&& djPlaces.length==0)
{
newDPlaceMC();
}
}
.................
....................................................................................
.......................................................
//控制坦克左右移动
function startMove(e:KeyboardEvent):void
{
switch (e.keyCode)
{
case Keyboard.LEFT :
tange.x-=3;
djPlace_mc.x+=3;
djPlace_mc.y+=0.5;
break;
case Keyboard.RIGHT :
if(tange.x<=450)
{
tange.x+=3;
djPlace_mc.x-=3;
djPlace_mc.y-=0.5;
}
break;
default :
break;
}
}
分享到:
相关推荐
期末大作业用python turtle库写的太空大战小游戏源码期末大作业用python turtle库写的太空大战小游戏源码期末大作业用python turtle库写的太空大战小游戏源码期末大作业用python turtle库写的太空大战小游戏源码期末...
一款flash小游戏,里面有源文件.fla和.swf文件。
《Flash 3.0 太空战机:小游戏》是一款基于ActionScript 3.0(简称AS 3.0)编程语言开发的互动娱乐项目。它不仅是一个有趣的游戏,更是学习和掌握Flash技术的一个良好起点。在这款游戏中,玩家将扮演一名太空飞行员...
《基于Unity3D的太空大战游戏》是一款利用Unity3D游戏...通过学习和分析《基于Unity3D的太空大战游戏》资源包,开发者不仅可以掌握Unity3D的基本使用,还能深入理解游戏开发的各个环节,为自己的游戏创作打下坚实基础。
《Qt实现的太空游戏》是一款基于Qt框架开发的2D太空探险游戏,它展示了Qt的强大功能和在游戏开发中的应用。Qt是一个跨平台的应用程序开发框架,广泛用于创建桌面、移动以及嵌入式系统的用户界面。这个源码库提供了一...
SpaceHunt-开源是一个使用C++编写的初学者2D街机太空射击游戏的原始代码。该游戏具有以下功能: 1. 游戏目标:玩家需要控制一艘太空飞船,在宇宙中消灭敌人并生存下来。 2. 角色控制:玩家可以通过键盘或其他输入...
Java 太空入侵者游戏源代码 太空入侵者游戏是一款简单的太空动作游戏。整个游戏或项目使用了java和一些swing组件,使其看起来令人惊讶。你必须杀死所有挡在你面前的敌人。这是使用 swing 组件的完美示例。 整个项目...
Flash制作的小游戏,有AS2.0,也有3.0,大家可以用于学习!,美女来找茬,拼图游戏,射击,扫雷,flash 3.0太空战机,flash 3.0五子棋
太空游戏,通常指的是模拟宇宙空间探索或战斗的游戏。在这个C++编写的太空游戏中,我们可以学习到许多关于游戏编程和C++语言的知识点。 首先,C++是一种强大的、面向对象的编程语言,它允许程序员实现复杂的功能和...
通过研究和理解这个完整的Python太空大战游戏源代码,初学者不仅可以学到Python编程基础,还能掌握游戏开发的基本技巧,从而提升自己的编程能力。同时,这个项目也为有经验的开发者提供了一个有趣的练习平台,以探索...
《Qt实现的太空游戏》是一款基于Qt框架开发的太空主题的游戏。Qt是一个跨平台的应用程序开发框架,由Trolltech公司(现为The Qt Company)开发,被广泛应用于桌面、移动设备以及嵌入式系统中。它使用C++语言编写,并...
Unity是一款强大的跨平台游戏开发引擎,广泛用于创建2D和3D游戏,模拟应用以及可视化项目。在这个"Unity太空射击游戏制作"项目中,你将接触...通过学习和分析这个项目,你将能够创建属于自己的激动人心的太空射击游戏。
flash-PV3d-太空(非常炫)这个是国外的一个作品,非常喜欢,跟大家分享一下,flash 3d技术让Web更加丰富,快看看吧!
flash+cs3 的打字小游戏,虽然AS3 离我远去了! 但这些压缩包的素材还不错哦!打汽球 飞机 汉诺塔 来找茬 拼图游戏 扫雷 射击 太空战机 贪吃蛇 小游戏老人 3D地球 追踪游戏 格斗
"太空大战游戏完整源代码"是一个关于开发游戏的项目,其中包含了实现太空战斗场景的所有编程资源。这个项目可能包括了游戏逻辑、图形渲染、物理模拟、用户交互等多个方面的内容,对于学习游戏编程或者想要深入了解...
Unity3d源码 街机太空射击战斗游戏开发模板 Space Combat Kit v2.0 Unity商店下载的精品游戏源码 , 适合学习及二次开发使用 , 是个完整的Unitypackage包 , 直接导入到空项目就可以直接查看效果了 Unity3d源码 街机...
《太空射击游戏2.0》是一款利用Access编程技术开发的游戏程序,这在通常以数据库管理闻名的Access应用中显得别具一格。Access是Microsoft Office套件中的一个重要组件,主要功能在于数据管理和分析,但其强大的VBA...
Unity3D是一款强大的跨平台游戏开发工具,被广泛用于创建2D、3D游戏以及交互式体验。...开发者可以通过学习和使用这个资源包,深入了解Unity3D游戏开发流程,提升自己的技能,并快速制作出一款激动人心的太空射击游戏。
《Visual C++ 2008 太空射击游戏设计源代码详解》 在软件开发领域,游戏设计是一项富有挑战性和创造力的工作。本资源聚焦于使用Microsoft的Visual C++ 2008编译环境进行太空射击游戏的设计,通过源代码的深度解析,...
太空射击游戏设计是一种常见的计算机游戏类型,它融合了动作、策略和反应速度等多种元素,带给玩家刺激的太空战斗体验。这种类型的游戏通常包括玩家控制的飞船在太空中与敌方飞船或其他外星生物进行对战,通过射击、...