用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 五子棋源码

package Classes{ import flash.display.*; import flash.events.*; import flash.geom.*; import flas...
  • MeetLunay
  • MeetLunay
  • 2014年05月30日 11:37
  • 1147

AS3.0五子棋源文件

  • 2014年06月09日 22:50
  • 29KB
  • 下载

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

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

用AS3.0制作五子棋

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

flash as3 五子棋源码,人机

  • 2014年05月25日 10:36
  • 38KB
  • 下载

flash五子棋心得——致我写的第一个程序

在下程序小白,前不久完成了人生第一个程序(flash as3.0),在此写下一点感悟,还有其中的一些问题希望能和其他小白共勉。        这是最终的样子(没有在找素材上花多大力气,见谅。。) ...
  • qq_27873263
  • qq_27873263
  • 2015年05月02日 16:21
  • 457

flash as3 五子棋

  • 2012年02月15日 11:57
  • 16KB
  • 下载

五子棋过程中用到的知识【flash as3 】

flash as3编写的五子棋小游戏
  • u010955640
  • u010955640
  • 2015年05月02日 18:09
  • 445

AS3 五子棋源码

package Classes{ import flash.display.*; import flash.events.*; import flash.geom.*; import flas...
  • MeetLunay
  • MeetLunay
  • 2014年05月30日 11:37
  • 1147

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

1.五子棋胜负算法(使用了对棋盘进行全盘判断)function win():void //将胜负判断封装成函数,便于调用 { ww=new wh...
  • qq_28779503
  • qq_28779503
  • 2015年11月11日 21:48
  • 697
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用AS3.0制作五子棋(二)
举报原因:
原因补充:

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