灵动游戏论坛游戏专区【游戏教程】用FLASH做飞机游戏,即简单,又难明!! -转

1  /  1  页   1 跳转 查看:2084

标题: 用FLASH做飞机游戏,即简单,又难明!! -转

用FLASH做飞机游戏,即简单,又难明!! -转

我在网上看到一个,,用代码写出来的,飞机游戏,,,,不需要画任何东西,,,甚至飞机模型都不用画,直接代码搞定,,现在我发上来给大家玩玩吧,,,不错的游戏哦,

原代码:



开始();
function 初始化数据() {
速度 = 20;
n = 0;
杀敌数 = 0;
总机数 = 3;
开 = false;
Mouse.hide();
_root.createEmptyMovieClip("飞机层", _root.getNextHighestDepth());
_root.createEmptyMovieClip("子弹层", _root.getNextHighestDepth());
_root.createEmptyMovieClip("敌机层", _root.getNextHighestDepth());
_root.createEmptyMovieClip("敌子弹层", _root.getNextHighestDepth());
_root.createEmptyMovieClip("数据层", _root.getNextHighestDepth());
_root.数据层.createTextField("杀敌数据", _root.数据层.getNextHighestDepth(), 220, 0, 100, 100);
_root.数据层.createTextField("主机数据", _root.数据层.getNextHighestDepth(), 0, 0, 100, 100);
_root.数据层.杀敌数据.selectable = false;
_root.数据层.主机数据.selectable = false;
_root.数据层.杀敌数据.text = "分数:"+杀敌数;
_root.数据层.主机数据.text = "机数:"+总机数;
}
//绘制飞机/////////////////////////////////
function 绘制飞机() {
var 临时飞机 = _root.飞机层.createEmptyMovieClip("飞机", _root.飞机层.getNextHighestDepth());
临时飞机.beginFill(00, 100);
临时飞机.lineStyle(1, 00, 100);
临时飞机.moveTo(0, -7.7);
临时飞机.lineTo(10, 10);
临时飞机.lineTo(0, 6);
临时飞机.lineTo(-10, 10);
临时飞机.moveTo(0, -7.7);
临时飞机.endFill();
临时飞机._alpha = 0;
临时飞机._x = _root._xmouse;
临时飞机._y = _root._ymouse;
临时飞机.onEnterFrame = function() {
  临时飞机._alpha += 5;
  if (临时飞机._alpha>=100) {
  delete 临时飞机.onEnterFrame;
  }
};
}
function 绘制敌子弹(X, Y, 终点X, 终点Y) {
var 临时敌子弹 = _root.敌子弹层.createEmptyMovieClip("敌子弹"+_root.敌子弹层.getNextHighestDepth(), _root.敌子弹层.getNextHighestDepth());
临时敌子弹._x = X;
临时敌子弹._y = Y;
临时敌子弹.lineStyle(3, 0xFF0000, 100);
临时敌子弹.moveTo(0, 0);
临时敌子弹.lineTo(1, 1);
临时敌子弹.endFill();
var fx = 终点X;
var fy = 终点Y;
var 角度 = Math.atan2(fy-临时敌子弹._y, fx-临时敌子弹._x);
临时敌子弹.onEnterFrame = function() {
  临时敌子弹._x += 3*Math.cos(角度);
  临时敌子弹._y += 3*Math.sin(角度);
  if (临时敌子弹._y<=0) {
  临时敌子弹.removeMovieClip();
  delete 临时敌子弹.onEnterFrame;
  }
  if (临时敌子弹._y>=450) {
  临时敌子弹.removeMovieClip();
  delete 临时敌子弹.onEnterFrame;
  }
  if (临时敌子弹._x>=300) {
  临时敌子弹.removeMovieClip();
  delete 临时敌子弹.onEnterFrame;
  }
  if (临时敌子弹._x<=0) {
  临时敌子弹.removeMovieClip();
  delete 临时敌子弹.onEnterFrame;
  }
  for (var i in _root.敌子弹层) {
  var 临时敌子弹 = _root.敌子弹层;
  if (_root.飞机层.飞机.hitTest(临时敌子弹) and _root.飞机层.飞机._alpha>=100) {
    _root.飞机层.飞机.removeMovieClip();
    if (总机数>0) {
    总机数--;
    _root.数据层.主机数据.text = "机数:"+总机数;
    绘制飞机();
    主机 = _root.飞机层.飞机;
    }
    临时敌子弹.removeMovieClip();
    delete 临时敌子弹.onEnterFrame;
  }
  }
};
}
function 绘制敌机() {
var 临时敌机 = _root.敌机层.createEmptyMovieClip("敌机"+_root.敌机层.getNextHighestDepth(), _root.敌机层.getNextHighestDepth());
临时敌机.beginFill(00, 100);
临时敌机.lineStyle(1, 00, 100);
临时敌机.moveTo(0, 0);
临时敌机.lineTo(20, 0);
临时敌机.lineTo(10, 15);
临时敌机.lineTo(0, 0);
临时敌机.endFill();
临时敌机._x = random(200)+50;
临时敌机._y = -10;
var 跑 = 0;
临时敌机.onEnterFrame = function() {
  临时敌机._y += 3;
  if (random(150) == 0) {
  跑 = 0;
  }
  if (random(150) == 1) {
  跑 = 1;
  }
  if (random(150) == 2) {
  跑 = 2;
  }
  if (跑 == 1) {
  临时敌机._x += 2;
  }
  if (跑 == 2) {
  临时敌机._x -= 2;
  }
  if (random(50) == 0) {
  绘制敌子弹(临时敌机._x, 临时敌机._y, 主机._x, 主机._y);
  }
  if (临时敌机._y>=450) {
  临时敌机.removeMovieClip();
  delete 临时敌机.onEnterFrame;
  }
  for (var i in _root.子弹层) {
  var 临时子弹 = _root.子弹层;
  if (临时敌机.hitTest(临时子弹)) {
    临时敌机.removeMovieClip();
    临时子弹.removeMovieClip();
    delete 临时敌机.onEnterFrame;
    杀敌数 += 100;
    _root.数据层.杀敌数据.text = "分数:"+杀敌数;
  }
  }
};
}
绘制飞机();
主机 = _root.飞机层.飞机;
function 绘制子弹() {
var 临时子弹 = _root.子弹层.createEmptyMovieClip("子弹"+_root.子弹层.getNextHighestDepth(), _root.子弹层.getNextHighestDepth());
//trace("子弹:"+"子弹"+_root.子弹层.getNextHighestDepth()+"  深度:"+_root.子弹层.getNextHighestDepth());
临时子弹._x = 主机._x-5;
临时子弹._y = 主机._y-20;
临时子弹.lineStyle(1, 0xFFFF00, 100);
临时子弹.beginFill(0xFFFF00, 100);
临时子弹.lineStyle(1, 00, 100);
临时子弹.moveTo(5, 5);
临时子弹.lineTo(10, 10);
临时子弹.lineTo(0, 10);
临时子弹.lineTo(5, 5);
临时子弹.endFill();
临时子弹.onEnterFrame = function() {
  临时子弹._y -= 10;
  if (临时子弹._y<=-10) {
  临时子弹.removeMovieClip();
  delete 临时子弹.onEnterFrame;
  //trace("删除"+临时子弹);
  }
};
}
///////////////////////////////////////////
_root.onEnterFrame = function() {
主机._x -= (主机._x-(_root._xmouse))/速度;
主机._y -= (主机._y-(_root._ymouse))/速度;
if (开 == true and n++%5 == 0 and 主机.enabled == true) {
  绘制子弹();
}
if (random(20) == 6 and 主机.enabled == true) {
  绘制敌机();
}
if (总机数<2) {
  for (var i in _root) {
  _root.removeMovieClip();
  }
  delete 总机数;
  结束();
}
};
_root.onMouseDown = function() {
开 = true;
};
_root.onMouseUp = function() {
开 = false;
};
//////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
function 开始() {
_root.createEmptyMovieClip("开始层", _root.getNextHighestDepth());
var 开始TXT = _root.开始层.createTextField("开始TXT", _root.开始层.getNextHighestDepth(), 120, 200, 55, 20);
开始TXT.selectable = false;
开始TXT.text = "游戏开始";
开始层.onRelease = function() {
  初始化数据();
  绘制飞机();
  主机 = _root.飞机层.飞机;
  开始层.removeMovieClip();
};
}
function 结束() {
Mouse.show();
_root.createEmptyMovieClip("结束层", _root.getNextHighestDepth());
_root.createEmptyMovieClip("开始层", _root.getNextHighestDepth());
var 结束TXT = _root.结束层.createTextField("结束TXT", _root.结束层.getNextHighestDepth(), 120, 150, 55, 20);
var 开始TXT = _root.开始层.createTextField("开始TXT", _root.开始层.getNextHighestDepth(), 120, 200, 55, 20);
开始TXT.selectable = false;
结束TXT.selectable = false;
结束TXT.text = "游戏结束";
开始TXT.text = "重新开始";
开始层.onRelease = function() {
  初始化数据();
  绘制飞机();
  主机 = _root.飞机层.飞机;
  结束层.removeMovieClip();
  开始层.removeMovieClip();
};
}
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

这复制到哪里都不说啊
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

怎么玩啊?
?(恳求点一下.大福大贵啊http://bbs.mhhf.net/plugin/spread/?uid=71483
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

什么意思?
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

你的代码绝对正确吗?
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

正确,,,我测试过,,,,,

只要,,新建FLASH文档,,,然后,,,


直接在第一图层,的第一针上,,,,

写入代码,,

就可以了,,,
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

这好像是PASCAL也…………

能不能教教我,我也是学PASCAL的
我想自己做GAME…………
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

到底咋弄啊
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

做是做出来了,不过不会玩
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

用什么写的 action 看不名
开始();````````````````````头用中文可以吗?
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

玩可以玩,只是……打死一只飞机就没子弹了……
引用
 

回复:用FLASH做飞机游戏,即简单,又难明!! -转

引用
 

回复: 用FLASH做飞机游戏,即简单,又难明!! -转



引用:
原帖由 ANNY123 于 2008-3-2 13:01:00 发表
正确,,,我测试过,,,,,

只要,,新建FLASH文档,,,然后,,,


直接在第一图层,的第一针上,,,,

写入代码,,

就可以了,,,


我这样做了,导出了,点进去,一片空白~~~~怎么做啊???
引用
 
1  /  1  页   1 跳转

版权所有 灵动原创FLASH游戏中心   Sitemap

Powered by Discuz!NT 2.0.1214    Copyright © 2001-2008 Comsenz Inc.
Processed in 0.0468777 second(s) , 3 queries. 苏ICP备05047165号
返顶部