我试过SWFLoader,但问题是加载的内容是MovieClip,我不知道如何与它交互,而MovieClip#numChildren为零.
顺便说一下,我无法将闪光灯传递给瑞士法郎.
我有一个加载外部swf的swf.加载器swf有一个我想从加载的swf访问的变量.我使用MovieClip(parent.parent).myVar但它返回此错误
TypeError:错误#1009:无法访问空对象引用的属性或方法.at card01_fla :: MainTimeline/frame1()
加载器swf有一个自定义文档类,我认为这是问题.
提前致谢.
编辑
这是主要的SWF
package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.text.TextField;
/**
* ...
* @author chchrist
*/
public class CardSender extends Sprite
{
private var loader:Loader;
private var viewButtonArray:Array;
private var sendButtonArray:Array;
private var cardContainer:Sprite;
public var testVar:String
public function CardSender() {
testVar = "it worked!!!";
init();
}
private function init() {
viewButtonArray = [cardsenderMC.view01, cardsenderMC.view02, cardsenderMC.view03, cardsenderMC.view04];
for each( var viewButton in viewButtonArray) { …Run Code Online (Sandbox Code Playgroud) 嗨,我有一个显示按钮的actionscript文件.我想从显示屏上删除该按钮.因此,我需要对actionscript代码进行更改,并在进行更改后生成新的SWF文件.
任何人都可以帮助我如何从actionscript文件生成SWF文件.
提前致谢.
我有一个Flex 3应用程序(播放器v9)加载Flash SWF(AS3,也是播放器v9),需要动态传递一组在运行时已知的参数.这些参数通常通过flashvarsHTML页面中的元素传递.嵌入式影片通过loaderInfo.parameters对象访问这些参数.
我试过使用SWFLoader和Loader类在param传递中没有成功.
相关细节:
loaderInfo.parameters["foo"] = "123"了嵌入代码中的设置,但参数似乎永远不会出现在嵌入式电影中.我有一个应用程序加载外部SWF文件,并通过SWFLoader Flex组件在Adobe Flex/Air应用程序中播放它们.我一直试图找到一种从按钮点击事件中卸载它们的方法.我已经远远超过谷歌了,似乎没有人能够在没有黑客的情况下做到这一点.我看到人们使用的代码组合是:
swfLoader.source = ""; // Removes the external link to the SWF.
swfLoader.load(null); // Forces the loader to try to load nothing.
// Note: At this point sound from the SWF is still playing, and
// seems to still be playing in memory.
flash.media.SoundMixer.stopAll();
// Stops the sound. This works on my development machine, but not
// on the client's.
Run Code Online (Sandbox Code Playgroud)
如果SWF以这种方式关闭(隐藏),最终程序崩溃.
有任何想法吗?我在各种论坛上发现了很多帖子,人们遇到了同样的问题.我想我会在这里得到一个错误/不完整的答案,而且我的帖子会像往常一样陷入虚无,但无论哪种方式,都要提前感谢!
编辑1:我无法编辑实际的SWF电影,它们是由客户端创建的.如果我无法关闭通过Flex打开的任何SWF,那么Flex架构不是一个问题吗?我唯一的选择是将SWF发送到网络浏览器吗?
我正在使用SWFLoader加载swf文件.代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:SWFLoader source="alerttesting.swf"/>
</s:Application>
Run Code Online (Sandbox Code Playgroud)
并且alerttesing.swf代码给出了打击:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
width="100%" height="100%" fontFamily="Arial" fontSize="12"
xmlns:ilog="http://www.ilog.com/2007/ilog/flex"
xmlns:local="c7.views.apps.calendar.*"
backgroundColor="#FFFFFF">
<mx:Script>
<![CDATA[
import mx.controls.Alert
public function testingalerta():void{
Alert.show("sa;lfks;aljfa;sljf");
}
]]>
</mx:Script>
<mx:Canvas>
<mx:VBox>
<mx:Button click="testingalerta()"/>
<mx:Button label="aslkdfjasj" click="{Alert.show('sdfslfjlsjf;asjfa;sj');}"/>
</mx:VBox>
</mx:Canvas>
</mx:Application>
Run Code Online (Sandbox Code Playgroud)
每次我点击按钮,我都会收到以下错误:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.managers::PopUpManagerImpl/http://www.adobe.com/2006/flex/mx/internal::createModalWindow()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\PopUpManagerImpl.as:686]
at mx.managers::PopUpManagerImpl/addPopUp()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\PopUpManagerImpl.as:401]
at mx.managers::PopUpManager$/addPopUp()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\PopUpManager.as:193]
at mx.controls::Alert$/show()[E:\dev\4.x\frameworks\projects\framework\src\mx\controls\Alert.as:618]
at …Run Code Online (Sandbox Code Playgroud)