基于Flash CS6和AS 3.0完成的赛车游戏

目前有各种语言编写的赛车游戏,但基于Flash编写的,反而最直观,近日空闲下来,将之前编写的Flash CS6和AS3.0编写的赛车游戏写下来,重点可以帮助小学生完成简单的小游戏。
一、完成界面如下:
在这里插入图片描述
二、重点关注:
1、两个场景,游戏和结束。游戏场景中一定新建代码层,加入以下代码:

stop();

2、重点关注游戏场景:
(1)每一个NPC(即敌人)增加如下代码:

import flash.events.Event; 
this.dispatchEvent(new Event("repeat",true));

(2)NPC基于AS3.0添加到场景中,每一个NPC元件一定要设置相同名字的类:

import flash.events.TimerEvent;
import flash.utils.Timer;
var mymc1:VanNPC1 = new VanNPC1();
addChild(mymc1);
mymc1.x = 245.75;
mymc1.y = 96.6;
setChildIndex(mymc1,9);
var mymc2:VanNPC2 = new VanNPC2();
addChild(mymc2);
mymc2.x = 263.35;
mymc2.y = 96.6;
setChildIndex(mymc2,9);
var mymc3:VanNPC3 = new VanNPC3();
addChild(mymc3);
mymc3.x = 270.35;
mymc3.y = 96.45;
setChildIndex(mymc3,9);
var mymc4:VanNPC4 = new VanNPC4();
addChild(mymc4);
mymc4.x = 295.25;
mymc4.y = 97.8;
setChildIndex(mymc4,9);

(3)左右移动代码实现,注意窗口限制,避免移动出窗口外。

import flash.events.KeyboardEvent;
const KEY_LEFT:int=37;
const KEY_RIGHT:int=39;
var moving:int=10;
var rect:Rectangle = new Rectangle(0,0,stage.stageWidth,stage.stageHeight);//更改矩形值可以修改限制范围
function keydown(c:KeyboardEvent){
 var code:int=c.keyCode;
 if(code==KEY_LEFT){
	 vanXY.x=vanXY.x-moving; 
	 }
 if(code==KEY_RIGHT){
	 vanXY.x=vanXY.x+moving;
 }
 if(vanXY.x<rect.x){
        vanXY.x = rect.x;
    }else if(vanXY.x+vanXY.width>rect.width){
        vanXY.x = rect.width-vanXY.width;
    }
 }
stage.addEventListener(KeyboardEvent.KEY_DOWN,keydown);

(4)动态文本表示成绩,实例名为score。

var Num:uint=1;
this.score.text="0";
this.addEventListener("repeat",repeatHd);
function repeatHd(event:Event){
	this.score.text=String(Num++);
  if(mymc3.hitTestObject(vanXY))//检测是否发生碰撞
   {
   gotoAndStop(1,"结束");
   mymc1.stop();
   mymc2.stop();
   mymc3.stop();
   mymc4.stop();
   mymc1.visible=false;
   mymc2.visible=false;
   mymc3.visible=false;
   mymc4.visible=false;
   }
   if(mymc2.hitTestObject(vanXY))//检测是否发生碰撞
   {
   gotoAndStop(1,"结束");
   mymc1.stop();
   mymc2.stop();
   mymc3.stop();
   mymc4.stop();
   mymc1.visible=false;
   mymc2.visible=false;
   mymc3.visible=false;
   mymc4.visible=false;
   }
}

备注:代码中当检测碰撞后,设置元件停止和消失,避免出现当游戏结束了,动画还在播放。
三、主界面的实现
主界面展现行驶动画,这里就不展现了,文后有链接,大家可以自行理解。
四、总结
该游戏还有不足之处,比如需要开始按钮及重新开始按钮,这里没有实现,但是不难,有一定flash基础的同学都可以完成。同时游戏的趣味性还有待加强。
链接: https://pan.baidu.com/s/12ioVNET0VJ_UQfl7fiBKSw 提取码: gdhh。

Guess you like

Origin blog.csdn.net/Crazydoubao/article/details/118186952