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

原创 2015年11月21日 11:54:34

五子棋的基本内容上一篇已经讲了,这一篇讲一下给五子棋添加背景音乐还有利用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了


相关文章推荐

用AS3.0制作五子棋

因为自己刚做了一个五子棋懂得还不是很多,这里写点自己的心得,如果哪里写的不对或者不好希望大家多指点指点。          首先讲讲棋子怎么下在棋盘上。我是自己画了个12*12的棋盘并且设定好棋...

AS3.0 五子棋关于AI思想方面分析以及Cocos2d-x环境变量配置

上周跟大家分享了用AS3.0 实现五子棋悔棋和复盘功能的实现,这周我做了五子棋AI功能。接下来跟大家分享下我关于五子棋AI的思路:         第一步: 遍历棋盘中所有棋子坐标,搜索出该坐标四个方...
  • tutuANE
  • tutuANE
  • 2015年05月30日 16:49
  • 826

flash as3.0 五子棋的游戏制作

主界面的截图 游戏玩法: 五子连珠这个游戏需要由两位选手一起来完成,其中一位是电脑,电脑在游戏中使用黑棋比赛,您在游戏中使用白棋进行比赛,游戏的目的是尽量将自己的棋在棋盘上排列成五颗棋子连在一...

分享基于Flash AS 3.0制作五子棋的故事

【首先,很感谢每一位看这份博客的侠客。本人编程小白,刚刚上路,希望各路高手可以多多提宝贵意见。】 1,作品: 基于Flash AS3.0 语言的简单五子棋制作 2,流程: 要熟悉flash cs6的工...

AS3.0五子棋判断胜负及人机算法(AI)

1.五子棋胜负算法(使用了对棋盘进行全盘判断)function win():void //将胜负判断封装成函数,便于调用 { ww=new wh...

AS3.0人机互动五子棋

  • 2009年08月21日 15:50
  • 101KB
  • 下载

关于AS3.0 五子棋悔棋功能和五子棋复盘功能的实现

最近在用Flash AS3.0做一个五子棋的游戏,今天来跟大家分享我实现五子棋悔棋和复盘的方式。 1 悔棋功能 首先我用MovieClip实现落子的功能,代码如下: /********** 函...
  • tutuANE
  • tutuANE
  • 2015年05月23日 17:34
  • 1385

as3.0五子棋资源合集

  • 2015年06月06日 17:11
  • 222KB
  • 下载

AS3.0实例教程二-时钟的制作.doc

  • 2011年07月29日 17:08
  • 52KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用AS3.0制作五子棋(二)
举报原因:
原因补充:

(最多只允许输入30个字)