如何在不卡顿的情况下加载包含 FLV 的 MovieClip
How do I load MovieClip containing FLV without stuttering
所以我有 var MC_1
,它是时间轴上包含 FLV
的 Movieclip。当用户按下 SPACE
时,MC_1
应该出现在屏幕上。它正在工作,除了在 MC_1
完成加载到屏幕之前,它几乎自己播放一次,显示最后几秒然后开始第二个循环。
如何让它只在加载完成后才播放?这是简化的代码:
package comm {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
import flash.system.*;
import comm.*;
import comm.assets.*;
public class main {
public var MC_1:comm.assets.intro_video = new comm.assets.intro_video();
public var cutscene_container:Sprite = new Sprite();
public function main() {
addChild(cutscene_container);
stage.addEventListener(KeyboardEvent.KEY_DOWN, introstart_handler);
function introstart_handler(event:KeyboardEvent){
if(event.keyCode == 32){
cutscene_container.addChild(MC_1);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, introstart_handler);
}
}
}
}
}
我希望我已经足够清楚地解释了我的问题:P 干杯!
想出了解决我的问题的方法。如果其他人遇到同样的问题,很高兴分享:
package comm {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
import flash.system.*;
import comm.*;
import comm.assets.*;
public class main {
public var MC_1:comm.assets.intro_video = new comm.assets.intro_video();
public var cutscene_container:Sprite = new Sprite();
public function main() {
addChild(cutscene_container);
cutscene_container.addChild(MC_1);
MC_1.visible = false;
MC_1.gotoAndStop(1);
stage.addEventListener(KeyboardEvent.KEY_DOWN, introstart_handler);
function introstart_handler(event:KeyboardEvent){
if(event.keyCode == 32){
MC_1.visible = true;
MC_1.gotoAndPlay(1);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, introstart_handler);
}
}
}
}
}
MC_1 已添加到 stage/container,在需要之前已停止且不可见。当需要时(SPACE 按下按钮),它会变得可见,并且会从第 1 帧开始播放。
如果其他人在 MovieClip 中以 FLV 形式的动画卡顿时遇到问题,希望这对您有所帮助。
确实解决了我的问题。
所以我有 var MC_1
,它是时间轴上包含 FLV
的 Movieclip。当用户按下 SPACE
时,MC_1
应该出现在屏幕上。它正在工作,除了在 MC_1
完成加载到屏幕之前,它几乎自己播放一次,显示最后几秒然后开始第二个循环。
如何让它只在加载完成后才播放?这是简化的代码:
package comm {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
import flash.system.*;
import comm.*;
import comm.assets.*;
public class main {
public var MC_1:comm.assets.intro_video = new comm.assets.intro_video();
public var cutscene_container:Sprite = new Sprite();
public function main() {
addChild(cutscene_container);
stage.addEventListener(KeyboardEvent.KEY_DOWN, introstart_handler);
function introstart_handler(event:KeyboardEvent){
if(event.keyCode == 32){
cutscene_container.addChild(MC_1);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, introstart_handler);
}
}
}
}
}
我希望我已经足够清楚地解释了我的问题:P 干杯!
想出了解决我的问题的方法。如果其他人遇到同样的问题,很高兴分享:
package comm {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
import flash.system.*;
import comm.*;
import comm.assets.*;
public class main {
public var MC_1:comm.assets.intro_video = new comm.assets.intro_video();
public var cutscene_container:Sprite = new Sprite();
public function main() {
addChild(cutscene_container);
cutscene_container.addChild(MC_1);
MC_1.visible = false;
MC_1.gotoAndStop(1);
stage.addEventListener(KeyboardEvent.KEY_DOWN, introstart_handler);
function introstart_handler(event:KeyboardEvent){
if(event.keyCode == 32){
MC_1.visible = true;
MC_1.gotoAndPlay(1);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, introstart_handler);
}
}
}
}
}
MC_1 已添加到 stage/container,在需要之前已停止且不可见。当需要时(SPACE 按下按钮),它会变得可见,并且会从第 1 帧开始播放。
如果其他人在 MovieClip 中以 FLV 形式的动画卡顿时遇到问题,希望这对您有所帮助。
确实解决了我的问题。