我不能为我的生活弄清楚为什么会这样。让我来描述我正在经历的事情。
我通过动作脚本动态添加所有内容。
在Flash创作环境中,当我测试电影时,有时舞台上的所有动画片段都会消失,我看到的只是舞台的颜色。
奇怪的是我仍然可以翻转/推出(我向我的翻转/推出处理程序添加了跟踪语句)。 我也在追踪'可见'和'alpha'属性,可见= true和alpha = 1.0! 在我 am 看到的事情上,有时会快速连续多次调用rollover / rollout方法。即方法调用顺序是翻转,转出,翻转或转出,翻转,转出。
我的翻转和转发方法中的操作真的简单。他们所做的只是打开/关闭其他动画片段...想象一张地图......当你翻转一个图标时,路径会显示在地图上,当你滚降时,路径会消失。
但是,如果我调整测试影片窗口的窗口,一切都会再次出现!
疯狂的是,当我发布它时,这种行为不会发生在浏览器中或作为应用程序!
发生了什么事?它可能是创作环境的记忆吗?
在此处发布一些代码:
private function rollOverUserListener ( e:MouseEvent ) {
trace(">>>>>>>> rollOverUserListener() e.currentTarget.name : " + e.currentTarget.name);
trace("e.currentTarget.alpha: " + e.currentTarget.alpha);
trace("e.currentTarget.visible: " + e.currentTarget.visible);
e.currentTarget.rollOverAction(); //just scales the icon a little
//fade up/down the appropriate path
worldMap.resetPaths(); //turns off all the paths
for (var i=0; i<users.length; i++){
if ( e.currentTarget == users[i] ) { //highlight the right path
worldMap.highlightPath(i);
}
}
}
private function rollOutUserListener ( e:MouseEvent ) {
trace("<<<<<<<< rollOutUserListener() e.currentTarget.name : " + e.currentTarget.name);
e.currentTarget.rollOutAction(); //scales down the icon to normal
worldMap.resetPaths();
}
答案 0 :(得分:0)
我认为通过发布你所做的代码来尝试解决这个问题并不高效。
但是,我的猜测是你看到的行为差异是由于Flash播放器的版本。
CS5或闪存的任何版本,当时都附带最新的播放器。但是闪存播放器不断升级,所以当你在浏览器中时 - 你最有可能拥有最新的闪存播放器。这可以解释您所看到的差异。
但是,如果没有看到highlightPaths和resetPaths函数,上面的代码就无济于事。我看到你有一个跟踪,但就在那之后 - 执行的代码可能很容易改变你在渲染帧之前跟踪的任何事物的状态。
在该代码之后粘贴一些痕迹,看看你是否得到了你的期望。
您是否正在使用任何可能仅具有较新Flash播放器支持功能的库?
答案 1 :(得分:0)
private function rollOverUserListener ( e:MouseEvent ) {
trace(">>>>>>>> rollOverUserListener() e.currentTarget.name : " + e.currentTarget.name);
trace("e.currentTarget.alpha: " + e.currentTarget.alpha);
trace("e.currentTarget.visible: " + e.currentTarget.visible);
e.currentTarget.rollOverAction(); //just scales the icon a little
//fade up/down the appropriate path
worldMap.resetPaths(); //turns off all the paths
for (var i=0; i<users.length; i++){
if ( e.currentTarget == users[i] ) { //highlight the right path
worldMap.highlightPath(i);
}
}
}
private function rollOutUserListener ( e:MouseEvent ) {
trace("<<<<<<<< rollOutUserListener() e.currentTarget.name : " + e.currentTarget.name);
e.currentTarget.rollOutAction(); //scales down the icon to normal
worldMap.resetPaths();
}