用ActionScript3制作的游戏代码-贪吃蛇_第1页
用ActionScript3制作的游戏代码-贪吃蛇_第2页
用ActionScript3制作的游戏代码-贪吃蛇_第3页
用ActionScript3制作的游戏代码-贪吃蛇_第4页
用ActionScript3制作的游戏代码-贪吃蛇_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 贪吃蛇packageimport ;import ;import ;import ;import ;import ;import flash.text.TextFormat;import ;import ;public class Game extends Sprite public var frame:Sprite, randombrick:Sprite;public var txt_level:TextField = new TextField(), txt_score:TextField = new TextField(), txt_explain:TextField = new

2、TextField(), txt_winlose:TextField = new TextField(), txt_author:TextField = new TextField();public var tf1:TextFormat = new TextFormat(), tf2:TextFormat = new TextFormat();public var xx:int, yy:int;public var rank:uint = 1;public var time:Timer;public var p_eat:Boolean = true, p_start:Boolean = tru

3、e;public var body:uint = 5;public var arr:Array = new Array();public function Game()BASIC();stage.addEventListener(Event.ENTER_FRAME, TFEVENT);stage.addEventListener(KeyboardEvent.KEY_DOWN, START);stage.addEventListener(KeyboardEvent.KEY_DOWN, diction);function START(e:KeyboardEvent):void if (e.keyC

4、ode = 13 & p_start = true)p_start = false;xx = -20;yy = 0;body = 5;initarr();txt_winlose.text = ;time = new Timer(rank 5) ? (400 - rank * 50) : (200 - rank * 10);time.start();time.addEventListener(TimerEvent.TIMER, MOVE);stage.addEventListener(Event.ENTER_FRAME, RANDOMBRICK);stage.addEventListener(E

5、vent.ENTER_FRAME, WINLOSE);private function WINLOSE(et:Event):void if (arr.length = (rank 10) ? (20) : (15)rank += 1;WINANDLOSE();txt_winlose.text = WIN;if (arr.length != 0)if (arr0.x 390 | arr0.y 390)WINANDLOSE();txt_winlose.text = LOSE;if (arr.length != 0)for (var a:uint = 2; a arr.length; a+)if (

6、arr0.hitTestObject(arra)WINANDLOSE();txt_winlose.text = LOSE;function WINANDLOSE():voidp_start = true;for (var m:uint = 0; m arr.length; m+)removeChild(arrm);arr.splice(0, arr.length - 1);arr.shift();time.removeEventListener(TimerEvent.TIMER, MOVE);stage.removeEventListener(Event.ENTER_FRAME, RANDOM

7、BRICK);stage.removeEventListener(Event.ENTER_FRAME, WINLOSE);private function initarr():void /初始化数组for (var i:uint = 0; i body; i+)var brick:Sprite = BRICK();arr.push(brick);addChild(arri);arri.x = i * 20 + 200 + 3;arri.y = 200 + 3;private function MOVE(evt:TimerEvent):void var temp:Array = arr.spli

8、ce(arr.length - 1, 1);temp0.x = arr0.x + xx;temp0.y = arr0.y + yy;arr.unshift(temp0);private function RANDOMBRICK(evt:Event):void if (p_eat = true)p_eat = false;randombrick = BRICK();var dx:Number = Math.random() * 400;var dy:Number = Math.random() * 400;for (var e:uint = 0; e = 20 * e & dx = 20 * e

9、 & dy = 20 * (e + 1)randombrick.y = e * 20 + 3;addChild(randombrick);randombrick.alpha=1;if (arr0.hitTestObject(randombrick)p_eat = true;body += 1;arr.unshift(randombrick);randombrick.alpha = 0.5;arr0.x = arr1.x + xx;arr0.y = arr1.y + yy;private function FRAME():Sprite /绘制方格frame = new Sprite();for

10、(var m:uint = 0; m = 20; m+)(0, m * 20);(1, 0x0000ff);(400, m * 20);for (var n:uint = 0; n = 20; n+)(n * 20, 0);(1, 0x0000ff);(n * 20, 400);return frame;private function TF():voidtf1.size = 14;tf1.color = 0xffffff;tf1.bold = true;tf2.size = 22;tf2.color = 0xffff00;tf2.bold = true;tf2.align = TextFor

11、matAlign.CENTER;private function TFEVENT(event:Event):void TF();txt_explain.setTextFormat(tf1, 0, 7);txt_explain.setTextFormat(tf1, 12, 17);txt_explain.setTextFormat(tf2, 8, 10);txt_explain.setTextFormat(tf2, 17, 19);txt_level.text = LEVEL:n + rank;txt_level.setTextFormat(tf1, 0, 6);txt_level.setTex

12、tFormat(tf2, 7, txt_level.length);txt_score.text = SCORE:n + (body - 5);txt_score.setTextFormat(tf1, 0, 6);txt_score.setTextFormat(tf2, 7, txt_score.length);txt_winlose.setTextFormat(tf2);txt_author.setTextFormat(tf1);private function BRICK():Sprite /画蛇身体var panel:Sprite = new Sprite();(1, 0x00ffff)

13、;(0x00ff00);(0, 0, 18, 18);();panel.alpha = 0.5;return panel;private function diction(event:KeyboardEvent):void /控制蛇头移动方向switch (event.keyCode)case 37: xx = -20;yy = 0;break;case 38: xx = 0;yy = -20;break;case 39: xx = 20;yy = 0;break;case 40: xx = 0;yy = 20;break;default: break;private function BAS

14、IC():voidstage.scaleMode = StageScaleMode.NO_SCALE; /屏幕不缩放/加载方格frame = FRAME();addChild(frame);frame.x = frame.y = 2;/说明txt_explain.text = ENTER键:n开始nn方向键:n移动;txt_winlose.text = ;txt_level.text = LEVEL:n + rank;txt_score.text = SCORE:n + (body - 5);txt_author.text = author:n 梅州小露子txt_explain.selecta

15、ble = txt_winlose.selectable = txt_level.selectable = txt_score.selectable = txt_author.selectable = false;txt_explain.x = txt_winlose.x = txt_level.x = txt_score.x = txt_author.x = 405;txt_level.y = 20;txt_score.y = 90;txt_winlose.y = 160;txt_explain.y = 210;txt_author.y = 340;txt_explain.backgroun

16、d = txt_winlose.background = txt_level.background = txt_score.background = txt_author.background = true;txt_explain.backgroundColor = txt_winlose.backgroundColor = txt_level.backgroundColor = txt_score.backgroundColor = txt_author.backgroundColor = 0x400080;txt_explain.width = txt_winlose.width = tx

17、t_level.width = txt_score.width = txt_author.width = 90;txt_explain.height = 105;txt_winlose.height = 30;txt_level.height = txt_score.height = txt_author.height = 50;addChild(txt_explain);addChild(txt_winlose);addChild(txt_level);addChild(txt_score);addChild(txt_author);设置闹钟packageimport ;import ;im

18、port ;public class Main extends Spritepublic var myhour:Number;public var myminute:Number;public var mysecond:Number; /设定闹钟信息 public var mynaozhong:Object=h: 12, m: 02, info: 时间到,该起床了!;public var txt_shezhi:TextField=new TextField();public var txt_current:TextField=new TextField();public var txt_jieguo:TextField=new TextField();public function Main()txt_shezhi.text=mynaozhong.h + 时 + mynaozhong.m + 分;txt_shezhi.addEventListener(Event.ENTER_FRAME, _gettime);txt_current.y=50;txt_jieguo.y=100;addChild(txt_shezhi);public function _gettime(e:Event):void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论