用AS3.0制作五子棋(二)

五子棋的基本内容上一篇已经讲了,这一篇讲一下给五子棋添加背景音乐还有利用ShareObject给棋子复盘的功能。

添加背景音乐的代码如下:

import flash.net.URLRequest; 
music.visible=false;<span style="white-space:pre">	</span>//这是我设置的背景音乐开关的按钮,音乐还没加载进来先隐藏
var mp3Url:String = "白羊座的忧伤.mp3";
var mp3SoundChannel:SoundChannel;
var playBoolean:Boolean=true;<span style="white-space:pre">	</span>//记录现在背景音乐的状态
var mp3len:Number = 0;<pre name="code" class="plain">//此变量记录音乐播放的当前时间点
music.visible=false;
//music_2.visible=false;
var mp3Url:String = "白羊座的忧伤.mp3";
var mp3SoundChannel:SoundChannel;
var playBoolean:Boolean=true;


//此变量记录音乐播放的当前时间点
var mp3len:Number = 0;
var mp3req:URLRequest = new URLRequest(mp3Url);
var sound:Sound=new Sound();
sound.load(mp3req);
mp3SoundChannel = sound.play(mp3len);
sound.addEventListener(Event.COMPLETE,onMp3);
function onMp3(evt:Event):void
{
//只有当音乐完全加载了,我们才来调用鼠标事件,让按钮可以控制音乐
//显示按钮
music.visible=true;
music.addEventListener(MouseEvent.CLICK,OnClick);
txt2.text="on";
//music_2.addEventListener(MouseEvent.CLICK,OnClick_2);
}
function OnClick(evt:MouseEvent):void
{
playBoolean = ! playBoolean;
if (playBoolean)
{
mp3SoundChannel = sound.play(mp3len);
txt2.text="on";
soundTrans.volume = 1;//1最大0静音
SoundMixer.soundTransform = soundTrans;
//music.laba.gotoAndStop(1);
}
else
{
mp3len=mp3SoundChannel.position
mp3SoundChannel.stop();
soundTrans.volume = 0;//1最大0静音
SoundMixer.soundTransform = soundTrans;
txt2.text="off";
//music.laba.gotoAndStop(2);
}
}

复盘功能有两个模块一个是保存,一个是读取。

//保存功能;
function btn_saveclick(e:MouseEvent)
{
chess_stay.data.chessStep = q;//保存棋子的步数   
for (i=0; i<15; i++)
{
chess_stay.data.chess_x[i] = x2[i];//保存每一步下棋的坐标 
chess_stay.data.chess_y[i] = y2[i];//保存每一步下棋的坐标 
for (j=0; j<15; j++)
{
chess_stay.data.bb[i][j] = aa[i][j];//保存棋子的状态 
}
}
chess_stay.flush();
chess_stay.close();
txt3.text = "";
txt1.text = "保存成功!";
}

//读取功能;
function btn_readclick(e:MouseEvent)
{ q = chess_stay.data.chessStep;
for (i=0; i<15; i++)
{
x2[i] = chess_stay.data.chess_x[i];
y2[i] = chess_stay.data.chess_y[i];
for (j=0; j<15; j++)
{
aa[i][j] = chess_stay.data.bb[i][j];//保存棋子的状态 
}
}
//chess_stay.close();
//chess_stay=null;


for (var i=0; i<15; i++)
{
for (var j=0; j<15; j++)
{
if (aa[i][j] == 1)
{
mc = new Black();
mc.x = (i * (465/14)-10);
mc.y = (j * (465/14)-11);
bx.x = (i * (463.8 / 14)-18);
bx.y = (j * (463.8 / 14)-18);
qi.addChild(bx);
qi.addChild(mc);
end = 1;
}
else if (aa[i][j] == 2)
{
mb = new White();
mb.x = (i * (465/14)-12);
mb.y = (j * (465/14)-11);
bx.x = (i * (463.8 / 14)-18);
bx.y = (j * (463.8 / 14)-18);
qi.addChild(bx);
qi.addChild(mb);
end = 1;
}
}



}

在数据传送过程中对象名后面的.data一定要加。在读取完数据后遍历一边数组把棋子都放上棋盘就OK了


阅读更多
个人分类: 2015
想对作者说点什么? 我来说一句

as3入门五子棋的代码

2009年11月12日 1.08MB 下载

flash as3 五子棋源码,人机

2014年05月25日 38KB 下载

AS3.0五子棋源文件

2014年06月09日 29KB 下载

没有更多推荐了,返回首页

不良信息举报

用AS3.0制作五子棋(二)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭