FLASH制作点击汉字出现拼音及读音(AS3/AS2)
1、打开FLASH软件,新建AS3文档。

2、这个效果中,主要包含三个元件,一个汉字的影片剪辑,实例名为word0,一个拼音的影片剪辑,实例名为pinyin0,还有一个是声音的元件,放到库里面,链接名为PY0,为什么要在后面加编号?是为了能制作多个同样的功能汉字元件,代码也会按这种思路进行编写。
首先,制作汉字的影片剪辑。在舞台上放一个字,这里使用百度的度字。转换成影片剪辑。



3、双击进入该影片剪辑中,画一个透明的矩形形状,覆盖文字,这是为了设置反应区。返回主场景中。设置汉字影片剪辑的实例名为word0

4、然后制作拼音的影片剪辑,步骤相同,但是因为要输入拼音,所以要使用特殊的字体(PinYinok),这种字体通过符号输入就可以打出带音标的拼音字母。设置该影片剪辑的实例名为pinyin0

5、再然后导入汉字的声音,文件--导入--导入到库,然后浏览选择读音的音频,FLASH中支持mp3和wav两种格式的音频,但有时会导入失败,需要对音频进行格式处理。

6、导入成功后如下图所示:

7、设置音频的AS链接为PY0,在库里选择音频右键,选择属性。

8、打开音频属性面板设置属性如下。

9、现在三个元件都已经完成,最后进行代码的编写,如下
var pyAry:Array=new Array();//汉字读音的数组
var word_count:int=1;//汉字数量
init();//开始初使化功能
function init():void
{
pyAry.push(new PY0());//有多少个就加多少句,因为没找到更好的解决方法
for(var i:int=0;i<word_count;i++)//循环操作,当有多个汉字时,能节省编写时间,规范代码
{
this["pinyin"+i].visible=false;//隐藏拼音
this["word"+i].buttonMode=true;//鼠标经过出现小手
this["word"+i].addEventListener(MouseEvent.CLICK,ShowPinYin);//添加鼠标事件
}
}
function ShowPinYin(e:MouseEvent):void
{
var obj:Object=e.currentTarget;
var t:int=int(obj.name.slice(3));
pyAry[t].play();//播放读音
this["pinyin"+t].visible=true;//显示拼音
}
CTRL+ENTER就可以了。
10、另,如下是只有一个汉字的代码。
pinyin0.visible=false;//隐藏拼音
word0.buttonMode=true;//鼠标经过出现小手
word0.addEventListener(MouseEvent.CLICK,ShowPinYin);//添加鼠标事件
function ShowPinYin(e:MouseEvent):void
{
new PY0().play();//播放读音
pinyin0.visible=true;//显示拼音
}
11、如下是AS2版本下的代码:
pinyin0._visible=false;//隐藏拼音
word0.onRelease=function()
{
var temp_sound:Sound = new Sound();//链接库中音频元件
temp_sound.attachSound("PY0");
temp_sound.start();
pinyin0._visible=true;//显示拼音
}