0到50小游戏
今天做了一个很简单游戏,虽然很简单 但还是高兴的。继续加油。
游戏介绍:每点击一次开始按钮kaiShi_btn,屏幕随机出五十按钮,按钮上以次是0到50随机数字;计时开始。玩家必须按照1到50以此点击按钮,点击一个,按钮就消失一个。五十个点击完后,输出玩家一共用了多长时间:
部分代码如下:
package
{
import flash.display.MovieClip;
import fl.controls.*;
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.text.TextFormat;
public class Main extends MovieClip
{
private var btn:Button;//定义按钮类
private var arr_btn:Array=new Array();//定义一个数组,用来盛放按钮
private var arr_shu:Array=new Array();//定义一个数组,用来盛放50个数字
private var buShu:int; //点击有效按钮的步数;点击一次 加一,控制只能 按照 1到50点击
private var timer:Timer=new Timer(1000);// 每一秒 时间增加1
private var shiJian:int;//时间,每一秒增加一;
private var myFormat:TextFormat=new TextFormat();//定义按钮上的样式
public function Main()
{
kaiShi_btn.buttonMode=true;
init(); //初始化,生成所有按钮
yinCangAnNiu();//此函数 把所有按钮隐藏
kaiShi_btn.addEventListener(MouseEvent.CLICK,onKaiShi); //每当点击此按钮,把所有按钮显示出来,并且把数字随机添加到所有按钮上
timer.addEventListener(TimerEvent.TIMER,jiShi);
myFormat.size=25;
}
private function init():void // 添加五十个按钮
{
for (var i:int=0; i<=4; i++)
{
for (var j:int=0; j<=9; j++)
{
btn=new Button();
btn.addEventListener(MouseEvent.CLICK,onXiaoShi);//给每一个按钮增加鼠标单击事件
btn.label = '';//把按钮上的‘label’消去
btn.setStyle("textFormat", myFormat);
btn.x = i * 100 + 30;
btn.y = j * 50 + 30;
btn.scaleY = 2;
addChild(btn);
arr_btn.push(btn);
}
}
}
private function yinCangAnNiu():void//隐藏所有按钮 初始化
{
for each(var anNiuY:* in arr_btn)
{
anNiuY.visible=0;
}
}
private function onKaiShi(e:MouseEvent):void//此函数 让所有按钮显示 并且 随机出 按钮上的数字
{
jiShi_txt.text='';
jieGuo_txt.text='';
shiJian=1;//时间 初始化 为1,因为当走完 第一次时,时间显示的是1
buShu=1; //初始化 步数为1
xianShiAnNiu();
Shu();//每次都要调用一次;
timer.start();
for (var m:int=1; m<=50; m++)//此循环,让存在数组arr_Shu里面的数 随机加入按钮上
{
arr_btn[m-1].label = String(arr_shu.splice(uint(Math.random() * arr_shu.length),1));
}
}
private function Shu():void//每调用一次,把1到50加到数组arr_shu中
{
for (var n:int=1; n<=50; n++)
{
arr_shu.push(n);
}
}
private function xianShiAnNiu():void //显示所有按钮
{
for each(var anNiuX:* in arr_btn)
{
anNiuX.visible=1;
}
}
private function jiShi(e:TimerEvent):void
{
jiShi_txt.text=shiJian+'秒';//每一秒,时间加一
shiJian++;
}
private function onXiaoShi(e:MouseEvent):void//按1到50顺序 点击按钮 按钮就消失,不按顺序点击,不会消失
{
if(e.target.label==String(buShu))
{
e.target.visible=0;
buShu++;
//trace(buShu);
if(buShu==51)
{
shiJian=shiJian-1;
jieGuo_txt.text='本次您用了'+shiJian+'秒';
timer.stop();
}
}
}
}
}
浙公网安备 33010602011771号