gpt4 book ai didi

actionscript-3 - 使用自定义 LoaderInfo 类的自定义 AS3 Loader 类?

转载 作者:行者123 更新时间:2023-12-01 13:08:50 24 4
gpt4 key购买 nike

这是一个专门关于创建自定义 Loader 类作为 How do I modify existing AS3 events so that I can pass data? 的后续问题的问题.如果这不是解决问题的正确方法,请告诉我。

我有一个自定义 Loader 类和一个自定义 LoaderInfo 类。我想不通的是如何让 Loader 类使用自定义 LoaderInfo 类,因为它是 contentLoaderInfo 属性。

package com.display {
import flash.display.Loader;

import com.display.CustomLoaderInfo;

public class CustomLoader extends Loader {
public var customData:*;

public function CustomLoader(passedData: *= null) {
customData = passedData;
}
}
}

^ 必须在那里做一些事情才能让它拥有新的 CustomLoaderInfo

package com.display {
import flash.display.LoaderInfo;
import flash.events.Event;

import com.events.CustomEvent;

public class CustomLoaderInfo extends LoaderInfo {
public var customData:*;

public function CustomLoaderInfo(passedData: *= null) {
customData = passedData;
}

override public function dispatchEvent(event:Event):Boolean {
var customEvent:CustomEvent = new CustomEvent(event.type, customData, event.bubbles, event.cancelable);
return super.dispatchEvent(customEvent);
}
}
}

^ 这可能行得通,但由于我无法让 CustomLoader 使用它,所以我还不知道。

最佳答案

我不知道它如何适合您正在做的事情,但您根本不会费心制作扩展的 LoaderInfo。 Loader.contentLoaderInfo 有一个名为 loader 的属性,它将返回所使用的 Loader(或在本例中为 CustomLoader)。理论上,您可以使用您拥有的 CustomLoader 类来执行此操作:


var loader: CustomLoader = new CustomLoader("Extra Data");
loader.load(new URLRequest("file.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);

function loaderComplete(event: Event) : void
{
var customData:* = (event.target.loader as CustomLoader).customData;
trace(customData); // Extra Data
}

关于actionscript-3 - 使用自定义 LoaderInfo 类的自定义 AS3 Loader 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/762521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com