FLASH制作点击汉字出现拼音及读音(AS3/AS2)
的有关信息介绍如下:
应FLASH吧友的需求,在这里分享一下如何使用FLASH制作点击汉字出现拼音及读音。这里以FLASH CS6为例。其它版本也可以,如CS5.5,CS5,CS4,CS3。FLASH8只支持AS2,在教程的最后有AS2的代码,除了代码和新建时选择文档版本不同,其它都是一样的。
打开FLASH软件,新建AS3文档。
这个效果中,主要包含三个元件,一个汉字的影片剪辑,实例名为word0,一个拼音的影片剪辑,实例名为pinyin0,还有一个是声音的元件,放到库里面,链接名为PY0,为什么要在后面加编号?是为了能制作多个同样的功能汉字元件,代码也会按这种思路进行编写。
首先,制作汉字的影片剪辑。在舞台上放一个字,这里使用百度的度字。转换成影片剪辑。
双击进入该影片剪辑中,画一个透明的矩形形状,覆盖文字,这是为了设置反应区。返回主场景中。设置汉字影片剪辑的实例名为word0
然后制作拼音的影片剪辑,步骤相同,但是因为要输入拼音,所以要使用特殊的字体(PinYinok),这种字体通过符号输入就可以打出带音标的拼音字母。设置该影片剪辑的实例名为pinyin0
再然后导入汉字的声音,文件--导入--导入到库,然后浏览选择读音的音频,FLASH中支持mp3和wav两种格式的音频,但有时会导入失败,需要对音频进行格式处理。
导入成功后如下图所示:
设置音频的AS链接为PY0,在库里选择音频右键,选择属性。
打开音频属性面板设置属性如下。
现在三个元件都已经完成,最后进行代码的编写,如下
var pyAry:Array=new Array();//汉字读音的数组
var word_count:int=1;//汉字数量
init();//开始初使化功能
function init():void
{
pyAry.push(new PY0());//有多少个就加多少句,因为没找到更好的解决方法
for(var i:int=0;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就可以了。 另,如下是只有一个汉字的代码。 pinyin0.visible=false;//隐藏拼音 word0.buttonMode=true;//鼠标经过出现小手 word0.addEventListener(MouseEvent.CLICK,ShowPinYin);//添加鼠标事件 function ShowPinYin(e:MouseEvent):void { new PY0().play();//播放读音 pinyin0.visible=true;//显示拼音 } 如下是AS2版本下的代码: pinyin0._visible=false;//隐藏拼音 word0.onRelease=function() { var temp_sound:Sound = new Sound();//链接库中音频元件 temp_sound.attachSound("PY0"); temp_sound.start(); pinyin0._visible=true;//显示拼音 }



