我对getQualifiedDefinitionNames有问题,当我用AIR 20编译时
主gameBg_png$c19135a2672bad8837da970f47c7278f-30390368
当我用Apach 4.15.0或Adobe动画CC编译时,它会按预期返回所有内容!
主Main__gamebg
如何用AIR修复它,它返回了Main__gamebg类?
我的示例代码:
package{
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip {
[Embed(source="../assets/gameBg.png")]
public const _gamebg:Class;
public function Main() {
super();
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
var definitions:*;
if (this.loaderInfo.applicationDomain.hasOwnProperty("getQualifiedDefinitionNames")) {
definitions = this.loaderInfo.applicationDomain["getQualifiedDefinitionNames"]();
for (var i:int = 0; i < definitions.length; i++) {
trace(definitions[i])
}
}
}
}
}发布于 2016-03-07 07:51:28
http://forum.starling-framework.org/topic/getqualifieddefinitionnames-porblem?replies=5#post-90611
这招很管用。
///////////////
// SomeImage.as
///////////////
[Embed(source="someimage.png")]
public class SomeImage extends Bitmap{
public function get dimensions(): String{
return width + "x" + height;}
}
/////////////
// MyClass.as
/////////////
public class MyClas{
public function foo(): void{
// Instantiate the bound class to get the embedded image
var someImage:SomeImage = new SomeImage();
// ... do whatever you'd like with someImage
trace("Dimensions: " + someImage.dimensions);
}
}https://stackoverflow.com/questions/35794601
复制相似问题