我正在为网页构建标准幻灯片闪存标题。
主要有三个部分:
幻灯片类具有所有功能,因此我使用Document类创建幻灯片的新实例,并保留一个名为slideshow的属性变量,以保持对幻灯片实例的引用。
import flash.display.MovieClip;
import flash.events.Event;
public class Header extends MovieClip
{
public var slideshow:Slideshow;
public function CSYC_Header()
{
var picturesURL:String = "images/pictures.xml";
var picturesURLFVar:String = root.loaderInfo.parameters.pictures;
picturesURL = picturesURLFVar ? picturesURLFVar : picturesURL;
slideshow = new Slideshow(picturesURL, Slideshow.FADE);
slideshow.init();
addChild(slideshow);
}
public function hello():void{trace("Hello");}
}
我现在的下一步是使用Adobe Flash Professional绘制一些播放和停止按钮,然后链接其点击事件以调用slidshow.play()/。pause()。此代码只位于时间轴中:
import flash.events.MouseEvent;
pause_control_btn.addEventListener(MouseEvent.CLICK, pauseClicked);
play_control_btn.addEventListener(MouseEvent.CLICK, playClicked);
addChild(pause_control_btn);
addChild(play_control_btn);
function pauseClicked(e:MouseEvent):void
{
//the play and pause buttons are on the stage and have the following names as
// thier instance names: pause_control_btn, play_control_btn
pause_control_btn.alpha = 0;
play_control_btn.alpha = 0.37;
slideshow.pause();
}
function playClicked(e:MouseEvent):void
{
pause_control_btn.alpha = 0.37;
play_control_btn.alpha = 0;
slideshow.play();
}
尽管我能够从时间轴调用Doc类中的常规方法,但是如果没有出现以下错误,我就无法调用属性,例如当我说幻灯片放映时:(
) 1061: Call to a possibly undefined method play through a reference with static type com.example.test:Slideshow.
所以我错过了一些明显的东西,或者每次我想连接一个事件来调用我的文档类中的对象时,我是否必须在我的文档类上创建一个方法?
答案 0 :(得分:1)
没有必要为时间线上的按钮添加代码;您可以通过Document Class中的实例名称引用这些对象。这是最简单的解决方案,我认为完全避免了时间表。
否则可能调用parent.slideshow或root.slideshow(虽然我认为root是AS2,我不太记得)会让你从时间轴访问该实例。前一个选项可能仍然是更好的选择,并将您的代码保存在一个位置。
希望有所帮助。