Flash Programming ActionScript3, double import swf to the main Stage from another class
Flash Programming ActionScript3, double import swf to the main Stage from another class
让我解释一下我的情况:
我们有一个名为 Main.fla 的文件,它链接到 class MAIN(它包含在 MAIN.as 文件中)。我还有一个带有用户 class.
的辅助 User.as 文件
我设法从 User.as class 将一个 classic swf 按钮导入我的舞台,但我在添加弹出窗口 window 时遇到了问题,单击按钮时。以下是代码:
MAIN.as
import flash.display.*;
import flash.net.*;
import flash.events.*;
import User; //Importing our User class
public class MAIN extends MovieClip
{
public function MAIN()
{
var k = new User();
k.logocons(this); //This function is made on User class and
//it takes a stage:Object as definition
}
}
User.as
import flash.display.*;
import flash.net.*;
import flash.events.*;
public class User extends MovieClip
{
var myLoader:Loader = new Loader();
public function User()
{
var url:URLRequest = new URLRequest("C:/Project/Button.swf");
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
myLoader.load(url);
}
function swfLoaded(event:Event):void
{
myLoader.x = 50;
myLoader.y = 50;
}
public function logocons(stage:Object)
{
stage.stop();
stage.addChild(myLoader);
}
}
到目前为止,这工作正常当我测试文件时,按钮工作正常
我现在想要的是单击按钮时在我的 MAIN.Stage 上显示一个弹出窗口 window,它也位于名为 PopUp.swf.[=13= 的同一文件夹中]
我确实尝试了很多东西,但我找不到如何从另一个 class.
访问 MAIN.stage
提前致谢
User.as
import flash.display.*;
import flash.net.*;
import flash.events.*;
import fl.motion.MotionEvent;
public class User extends MovieClip
{
var myLoader:Loader = new Loader();
private var _mainStage:Stage;//MAIN.stage
public function User()
{
var url:URLRequest = new URLRequest("C:/Project/Button.swf");
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
myLoader.load(url);
}
function swfLoaded(event:Event):void
{
myLoader.x = 50;
myLoader.y = 50;
}
public function logocons(stage:Object)
{
_mainSage = (stage as MovieClip).stage;// now you can use _mainStage anywhere on User class.
stage.stop();
stage.addChild(myLoader);
}
private function onButtonClick(e:MouseEvent){
//ex. _mainSage.addChild(popWindows);
}
}
让我解释一下我的情况: 我们有一个名为 Main.fla 的文件,它链接到 class MAIN(它包含在 MAIN.as 文件中)。我还有一个带有用户 class.
的辅助 User.as 文件我设法从 User.as class 将一个 classic swf 按钮导入我的舞台,但我在添加弹出窗口 window 时遇到了问题,单击按钮时。以下是代码:
MAIN.as
import flash.display.*;
import flash.net.*;
import flash.events.*;
import User; //Importing our User class
public class MAIN extends MovieClip
{
public function MAIN()
{
var k = new User();
k.logocons(this); //This function is made on User class and
//it takes a stage:Object as definition
}
}
User.as
import flash.display.*;
import flash.net.*;
import flash.events.*;
public class User extends MovieClip
{
var myLoader:Loader = new Loader();
public function User()
{
var url:URLRequest = new URLRequest("C:/Project/Button.swf");
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
myLoader.load(url);
}
function swfLoaded(event:Event):void
{
myLoader.x = 50;
myLoader.y = 50;
}
public function logocons(stage:Object)
{
stage.stop();
stage.addChild(myLoader);
}
}
到目前为止,这工作正常当我测试文件时,按钮工作正常
我现在想要的是单击按钮时在我的 MAIN.Stage 上显示一个弹出窗口 window,它也位于名为 PopUp.swf.[=13= 的同一文件夹中]
我确实尝试了很多东西,但我找不到如何从另一个 class.
访问 MAIN.stage提前致谢
User.as
import flash.display.*;
import flash.net.*;
import flash.events.*;
import fl.motion.MotionEvent;
public class User extends MovieClip
{
var myLoader:Loader = new Loader();
private var _mainStage:Stage;//MAIN.stage
public function User()
{
var url:URLRequest = new URLRequest("C:/Project/Button.swf");
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
myLoader.load(url);
}
function swfLoaded(event:Event):void
{
myLoader.x = 50;
myLoader.y = 50;
}
public function logocons(stage:Object)
{
_mainSage = (stage as MovieClip).stage;// now you can use _mainStage anywhere on User class.
stage.stop();
stage.addChild(myLoader);
}
private function onButtonClick(e:MouseEvent){
//ex. _mainSage.addChild(popWindows);
}
}