flash菜 as3鸟求flash as3高手!!!
我在场景中新建了一个影片剪辑元件,用来控制背景音乐的.元件中有两个关键帧,第一帧放入了示意声音暂停的按钮,第第二帧放入了示意声音播放的按钮.我这样做的目的是想运行我的fl...
我在场景中新建了一个影片剪辑元件,用来控制背景音乐的.元件中有两个关键帧,第一帧放入了示意声音暂停的按钮,第第二帧放入了示意声音播放的按钮.
我这样做的目的是想运行我的flash之后声音就播放,点击按钮影片剪辑元件后声音暂停并跳到第二帧.
写了如下代码,能运行:
stop();
var s1 : Sound=new Sound();
var s2 : SoundChannel=new SoundChannel();
var url :URLRequest=new URLRequest("淘宝乐园.mp3");
s1.load(url);
s2=s1.play();
function soundStop(evt:Event) {
s2.stop();
gotoAndPlay(2);
}
mstop.addEventListener(MouseEvent.CLICK, soundStop);
function soundPlay(evt:Event ) {
s1.play();
}
mplay.addEventListener(MouseEvent.CLICK ,soundPlay);
可是输出了如下错误:
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at 052_fla::voice_16/052_fla::frame1()
按钮完全无效...
请问我该怎么改???>_< 展开
我这样做的目的是想运行我的flash之后声音就播放,点击按钮影片剪辑元件后声音暂停并跳到第二帧.
写了如下代码,能运行:
stop();
var s1 : Sound=new Sound();
var s2 : SoundChannel=new SoundChannel();
var url :URLRequest=new URLRequest("淘宝乐园.mp3");
s1.load(url);
s2=s1.play();
function soundStop(evt:Event) {
s2.stop();
gotoAndPlay(2);
}
mstop.addEventListener(MouseEvent.CLICK, soundStop);
function soundPlay(evt:Event ) {
s1.play();
}
mplay.addEventListener(MouseEvent.CLICK ,soundPlay);
可是输出了如下错误:
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at 052_fla::voice_16/052_fla::frame1()
按钮完全无效...
请问我该怎么改???>_< 展开
2个回答
展开全部
第一、你的源文件是否与音乐文件保存在同一子目录下
第二、也是最主要的,你的两个按钮放在影片剪辑里,as3中主场景的代码是访问不到的。
可以把两个按钮直接放在主场景中就可以了。
另外即使把两个按钮直接放在主场景中,也不能用按钮控制音乐。因为加载的是本地音乐,按钮
只能用一次,如果连续点击play按钮就会出现很多音乐重复播放。必须在按钮的函数中添加卸载
与加载的语句。代码如下
var s1 : Sound=new Sound();
var s2 : SoundChannel=new SoundChannel();
var url :URLRequest=new URLRequest("淘宝乐园.mp3");
s1.load(url);
s2=s1.play();
mstop.addEventListener(MouseEvent.CLICK, soundStop);
mplay.addEventListener(MouseEvent.CLICK ,soundPlay);
function soundPlay(evt:Event ) {
s2.stop();
s2=s1.play();
mplay.enabled=false;
mplay.removeEventListener(MouseEvent.CLICK, soundPlay);
}
function soundStop(e) {
s2.stop();
mplay.enabled=true;
mplay.addEventListener(MouseEvent.CLICK ,soundPlay);
}
如果想用影片剪辑控制音乐,按钮可以放,就不需要按钮的名称了,直接用影片剪辑(yp_mc)判断,不过要添加判断语句。
var s1 : Sound=new Sound();
var s2 : SoundChannel=new SoundChannel();
var url :URLRequest=new URLRequest("cuo.mp3");
s1.load(url);
s2=s1.play();
yp_mc.addEventListener(MouseEvent.CLICK, ypdj);
function ypdj(e) {
if(yp_mc.currentFrame ==2){
yp_mc.gotoAndStop(1)
s2.stop();
s2=s1.play();
}else{
s2.stop();
yp_mc.gotoAndStop(2)
}
}
希望对你有用。
第二、也是最主要的,你的两个按钮放在影片剪辑里,as3中主场景的代码是访问不到的。
可以把两个按钮直接放在主场景中就可以了。
另外即使把两个按钮直接放在主场景中,也不能用按钮控制音乐。因为加载的是本地音乐,按钮
只能用一次,如果连续点击play按钮就会出现很多音乐重复播放。必须在按钮的函数中添加卸载
与加载的语句。代码如下
var s1 : Sound=new Sound();
var s2 : SoundChannel=new SoundChannel();
var url :URLRequest=new URLRequest("淘宝乐园.mp3");
s1.load(url);
s2=s1.play();
mstop.addEventListener(MouseEvent.CLICK, soundStop);
mplay.addEventListener(MouseEvent.CLICK ,soundPlay);
function soundPlay(evt:Event ) {
s2.stop();
s2=s1.play();
mplay.enabled=false;
mplay.removeEventListener(MouseEvent.CLICK, soundPlay);
}
function soundStop(e) {
s2.stop();
mplay.enabled=true;
mplay.addEventListener(MouseEvent.CLICK ,soundPlay);
}
如果想用影片剪辑控制音乐,按钮可以放,就不需要按钮的名称了,直接用影片剪辑(yp_mc)判断,不过要添加判断语句。
var s1 : Sound=new Sound();
var s2 : SoundChannel=new SoundChannel();
var url :URLRequest=new URLRequest("cuo.mp3");
s1.load(url);
s2=s1.play();
yp_mc.addEventListener(MouseEvent.CLICK, ypdj);
function ypdj(e) {
if(yp_mc.currentFrame ==2){
yp_mc.gotoAndStop(1)
s2.stop();
s2=s1.play();
}else{
s2.stop();
yp_mc.gotoAndStop(2)
}
}
希望对你有用。
追问
非常感谢啊...
你给我的第一个方法试了,不太好使,还是出错了...
还是我自己没搞懂...我也不知道...-_-
第二个方法很好喔...一试就达到我想要的...^.^
不过还想问一下能不能再完善一下第二个方法,使得音乐不是重新播放,而是暂停...
我自己百度了好久都搞不来啊....>_<
追答
可以。就是加一个暂停位置的变量即可。
var url:URLRequest=new URLRequest("淘宝乐园.mp3");
var s1:Sound=new Sound();
var s2:SoundChannel=new SoundChannel();
var ztwz;
s1.load(url);
s2=s1.play();
yp_mc.addEventListener(MouseEvent.CLICK,dj)
function dj(e){
if(yp_mc.currentFrame==1){
ztwz=s2.position
s2.stop()
yp_mc.gotoAndStop(2)
}else{
yp_mc.gotoAndStop(1)
s2=s1.play(ztwz);
}
}
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询