毕业论文 论文提纲 论文写作 公文范例 教育论文 教育学论文 师范教育 学术论文     论文指导*
                     
 
   
   
   
   
           
 

当前位置:课件115学培吧(kj115.com)→FLASH课件游戏开发教程→文章系列

 
 
标题:FLASH飞机游戏(彩京类型飞天站记)源码教程
 
展示台

文章来源 作者:admin 密码:admin 整理:湖北金鹰

◇游戏开发栏目简介
内容是FLASH课件游戏制作教程,适合开发课件游戏,增加课件的感染力,适合高手学习,基础学习者可以参加我站的游戏开发视频教程的学习是最佳之选。

其它教程文章还有网侠教程图文教程等。
学习过程中如果需要相关的软件下载,你可以到本站软件下载专区去看看。

---------------

论文相关服务
 

湖北金鹰课件吧

这次讨论的是关于飞机游戏(彩京类型)的,结合我做的《飞天战记》来做实例。
我这个游戏也藏考了别人的DD,比如,boss的散弹发射,请看OX的帖子(自己找!)。
建议大家在看源码时,最好要看懂,不要抱着偷别人的过来用这种心态,当然,一些好看的动画可以直接截取,不反对的,呵呵。
有不懂的,就问其他高手把,这只是我个人的思路,很复杂的东西。。。
一.画面
游戏要成功,首先你看到的是它的画面。
彩京有很多种版本,可爱型的(武装飞鸟)、铿锵型的(1942),飞机(人物角色)的设计都是很有特色,游戏的战斗画面很绚丽,尤其是爆炸效果!
(画面不做仔细研究,毕竟我的美工一般。。。)

 

2.战斗控制
终于讲到精彩部分拉!这可是精华!之所以彩京会那么受欢迎,是它在操作中加入了很多人性化的东西,我们仔细把它挖出来!

二.操作(重点)
游戏有了漂亮的画面,接下就是玩它的操作手感了。
彩京的操作分成2个部分(选人、控制):

1.选人
几乎每个多角色的游戏选人这个都会做文章,彩京系列一般有5~7命人物可供选择,它采用的方法是:上下窗口模式的(或左右窗口模式),即上面2/3的画面是角色的全身彩图,下面1/3的是在游戏中的战斗状态图。
除了常规的,它还有个选隐藏人物的选择框,我还记得某代的选择方法是“上3下3上7”。以下是《飞天战记》的选人制作部分:

这里要提到几个相关的东西:
威力:提高子弹威力,有上限,到底上限后,加了就会转化成分数;
雷:用来救命或者强力攻击敌的东西,初始数目为2~3个,没有上限;
积气:按住子弹键不放,就会累积,到达一定量后,就可以放出绝招;
奖人:+1条生命;
分数:打死敌人、拣到金币等,就会得分。
1)出现
彩京的角色出现时,有一段时间处于无敌状态,刚冲出来到预定地方,这段飞行距离是不能控制的,在无敌期间,可以开枪、积气、放雷(这就是人性化的东西)。
2)人物的常规控制
就是控制人物满屏幕的移动,子弹攻击,积气,放雷。
a.移动
移动的AS论坛上不知贴了多少个了,这里就不解释。
人性化:把人物上下左右中的5个移动动作都做出来,会增加你游戏的生动性。
b.子弹攻击(一般攻击)
要注意子弹的检测,比如检测最近的1~20个,不然,你放出的子弹,打到敌人会没反应。
c.积气
当长按子弹键不放,到达一定量,就会有绝技,这里主要时用到attachMovie,把积气完成的动画和释放的绝技加载到角色身上。
d.放雷
比较容量,做一个MC,一碰到敌人,敌人就减血,别忘了做删除,不然就无敌了!
3)死亡
彩京系列正确的死亡只有一种,就是被敌人的子弹击中,死亡后,人物的数据就要清零。
人性化:撞中敌人时,并不会死掉,只时子弹的威力会-1级。
这里例举《飞天站记》中“扫把女”的控制AS,下面中的“saoba”定义的就是扫把女身上的控制点(即,碰撞区)
扫把女的MC名字是库里的:MCà加载扫把女,其他几个人的方法一样。

onClipEvent(load){
_root.bao=0;//雷的数目
_parent.power=0;//子弹检测时间
_parent._x=200;
_parent._y=600;
_parent.saoba._alpha=20;//一出来角色的透明度
_parent.baohu._alpha=100;//一出来时的无敌光环
_root.lv=1;//子弹威力等级
speed=10;//扫把女的移动速度
_root.i=1001;//在游戏中的深度
functionfashe(){//加载子弹
_root.attachMovie(zd,"zidan"+_root.i,_root.i);
_root["zidan"+_root.i]._x=_root.rw._x+14;
_root["zidan"+_root.i]._y=_root.rw._y-15;
_root.i++;
if(_root.i>1013){
_root.i=1001;
}
}
}
onClipEvent(enterFrame){//子弹威力的检测
if(_root.lv==1){
zd="zidan21";
}elseif(_root.lv==2){
zd="zidan22";
}elseif(_root.lv==3){
zd="zidan23";
}elseif(_root.lv>=4){
_root.lv=4;
zd="zidan24";
}
if(_parent.saoba._alpha<70){//一出来的那段不能控制飞行
_parent.saoba._alpha=_parent.saoba._alpha+5;
_parent._y=_parent._y-15;
}
if(_parent.saoba._alpha>=70){//常规的移动控制
if(Key.isDown(65)&&(_parent._x>-5)){
_parent._x-=speed;
_parent.saoba.gotoAndStop(2);
}elseif(Key.isDown(68)&&(_parent._x<415)){
_parent._x+=speed;
_parent.saoba.gotoAndStop(3);
}
if(Key.isDown(87)&&(_parent._y>30)){
_parent._y-=speed;
}elseif(Key.isDown(83)&&(_parent._y<520)){
_parent._y+=speed;
}
if(Key.isDown(74)){//开枪(一般攻击)
_parent.power++;
if(_parent.power<6){
fashe();
}
if(_parent.power<10){//积气
_parent.attachMovie("yunqi","yunqi",2);
_root.rw.yunqi._x=20;
_root.rw.yunqi._y=33;
}elseif(_parent.power==90){//释放绝招
_parent.attachMovie("yunqi02","yunqi02",3);
_parent.yunqi.removeMovieClip();
}
}
}
if(_root.bao==0){//放雷时,角色处于无敌
_parent.baohu._alpha--;
}
if(_parent.baohu._alpha<=0){
_parent.saoba._alpha=100;
if(Key.isDown(75)){
if(_root.baoxian>0){
_root.bao=1;
_parent.baohu._alpha=100;
_parent.boom.gotoAndPlay(2);
}
}
}
}
onClipEvent(keyUp){//释放按键
if(Key.getCode()==74){//检测是否积气完成
if(_parent.power>=90){
_root.attachMovie("bsj02","bsj",1021);
_root.bsj._x=_root.rw._x+6;
_root.bsj._y=_root.rw._y;
_parent.power=0;
}
_parent.yunqi.removeMovieClip();
_parent.yunqi02.removeMovieClip();
_parent.power=0;
}
if(Key.getCode()==65){//角色在左右飞行时的倾侧
_parent.saoba.gotoAndStop(1);
}
if(Key.getCode()==68){
_parent.saoba.gotoAndStop(1);
}
}

很乱的东西。。。。重复了,自己优化
4)敌人

有了主角没反派可不行,敌人也分很多种,傻瓜型、肉血型等等。这里就说2种:

a.傻瓜型
就是刚出来的小兵,只发一个子弹,就走人的。
例子:《飞天站记》中用的大眼妖

onClipEvent(load){
_parent._y=0;
_parent._x=random(350)+50;//y轴上随即出现
_parent.speed=6;//速度
_root.attachMovie("drzd1","zd"+_root.zd,_root.zd);//发射子弹
_root["zd"+_root.zd].n=_parent.n;
_root.zd++;
}
onClipEvent(enterFrame){
_parent._y=_parent._y+_parent.speed;
if(_parent._y>600){
_parent.removeMovieClip();
}
if((_root.ming<0)||(_root.over==1)){//当大眼妖血<0,或者游戏判断出主角全部死亡时,删除大眼妖
_root["zd"+_root.zd].removeMovieClip();
_parent.removeMovieClip();
}
}
b.

例子:苍蝇怪(打了会出子弹威力)
肉血型

onClipEvent(load){
xunhuan=0
functioncyzd(){//子弹的设置
_root.attachMovie("drzd2","zd"+_root.zd,_root.zd);
_root["zd"+_root.zd].n=_parent.n;
_root.zd++;
xunhuan++
}
_parent.life1=200;//生命
_parent._y=0;
_parent._x=random(300)+70;//y轴随即出现
_parent.speed=5;//速度
pp=setInterval(cyzd,1500);//1500毫秒出现循环
}
onClipEvent(enterFrame){
if(_parent._y<150){//飞行路线
_parent._y=_parent._y+_parent.speed;
}
if(_parent._y>=150){
pp();
}
if((_root.ming<0)||(_root.over==1)){//当大眼妖血<0,或者游戏判断出主角全部死亡时,删除大眼妖
clearInterval(pp);
_parent.removeMovieClip();
}
if(xunhuan>3){//放3次子弹,就飞走
_parent._y=_parent._y+_parent.speed;
clearInterval(pp);
if(_parent._y>600){
_parent.removeMovieClip();
}
}
if(this.hitTest((_root.rw.boom)||(_root.boom))){//碰上雷时
_parent.gotoAndPlay(10);
clearInterval(pp);
}
}
onClipEvent(enterFrame){
for(bbb=0;bbb<20;bbb++){//检测子弹
if(this.hitTest("_root.zidan"+(_root.i-bbb))){
removeMovieClip("_root.zidan"+(_root.i-bbb));
_parent.life1-=_root.weili;
if(_parent.life1<=0){//血<0,就死了
_parent.gotoAndPlay(10);
clearInterval(pp);
}else{
_parent.gotoAndPlay(2);
}
}
}
if(this.hitTest(_root.daodan)){//碰上导弹
_parent.life1-=_root.weili1;
if(_parent.life1<=0){
_parent.gotoAndPlay(10);
clearInterval(pp);
}else{
_parent.gotoAndPlay(2);
}
}
if(this.hitTest(_root.bsj)){//碰上绝技
_parent.life1-=_root.weili2;
if(_parent.life1<=0){
_parent.gotoAndPlay(10);
clearInterval(pp);
}else{
_parent.gotoAndPlay(2);
}
}
}
源码

游戏中的MC文件都在库里的MC文件夹下,地图是:场景011-场景013;人物控制是:加载×××(角色的名字),敌人是:×××(敌人的名字),角色的子弹、积气、绝技、雷,都对应写好了:××子弹、××积气、××绝技、××雷。

其他的就不说了,我写的AS太恐怖了,我自己现在都佩服当时写的毅力!看不懂了。。。相信大家从小在街级游戏厅就玩过彩京这类的飞机吧,个人认为彩京系列是最棒的飞机游戏!下面我们就研究一下它成功的要素。

 

 
课件115学培吧(湖北金鹰)欢迎您!永久免费服务网址:http://www.kj115.com
   
 

学员众多的FLASH课件学习基地,成万免费FLASH课件制作教程在线学习,还有免费内容课件教程、视频教程、课件技巧、课件探讨、课件欣赏、课件展示、实用教程、课件界面、课件脚本、课件游戏、课件下载、课件封面、课文内容图片、课文人物图片库、课件素材、图片素材、声音素材、动物素材、背景图片、背景资料、背景边框、课件顶栏图片素材、Dreamweaver教程、Dreamweaver网页课件教程、软件下载。承接学习和培训,承接课件订制,课件修改等所有课件相关服务。
本站主要业务:┃flash课件制作视频教程培训┃承接全国竞赛flash课件┃论文代写代发┃代办课件国家级获奖证书┃
联系:QQ:444860709 手机:13339817386


 
 

业务办理
鄂ICP备08005724号