如何修复 1120:在初始化八哥部分时访问未定义的属性 main?
Posted
技术标签:
【中文标题】如何修复 1120:在初始化八哥部分时访问未定义的属性 main?【英文标题】:how to fix 1120: Access of undefined property main in initializing starling section? 【发布时间】:2017-02-20 22:45:17 【问题描述】:我是 actionscript3 的新手,我的代码有问题,我引用了 Designing for a multi-device, multi-resolution world,我坚持初始化八哥。 语法很好,但是当我通过 ctrl+enter 测试我的项目时发现错误。 这是我的代码
this.stage.align = StageAlign.TOP_LEFT;
this.stage.scaleMode = StageScaleMode.NO_SCALE;
import feathers.system.DeviceCapabilities;
DeviceCapabilities.dpi = 265;
DeviceCapabilities.screenPixelWidth = 480;
DeviceCapabilities.screenPixelHeight = 800;
import starling.core.Starling;
import flash.events.Event;
var starling:Starling;
this.loaderInfo.addEventListener(Event.COMPLETE, loaderInfoComplete);
function loaderInfoComplete(e:Event):void
starling=new Starling(Main, this.stage);
starling.start();
【问题讨论】:
在starling=new Starling(Main, this.stage);
中的Main
类有效吗??
我真的不知道Main
是什么
【参考方案1】:
当您创建 Starling 时,您需要传入一个类以供 Starling 实例化为其“根”容器。在您的代码中,您要求 Starling 在此处使用名为 Main
的类:
starling=new Starling(Main, this.stage);
您的项目中有一个名为Main.as
的文件吗?如果没有,那么您需要创建一个。下面是一些简单的示例代码,您可以尝试添加到Main.as
:
package
import starling.display.Sprite;
public class Main extends Sprite
public function Main()
super();
var quad:Quad = new Quad(100, 100, 0xff000);
addChild(quad);
【讨论】:
【参考方案2】:问题来自于 Starling 的启动:
starling=new Starling(Main, this.stage);
它需要一个类而不是Main
来启动。
您需要做的是插入一个带有class: screen
和extends starling.display.Sprite
的新符号。如下所示:
然后修改你的代码为starling=new Starling(screen, this.stage);
PS:看来你是用flash cs6开发starling的。处理起来相当困难。建议改为使用 Flash Develop 或 Flash Builder。
【讨论】:
我怎样才能得到那个窗口? 我是 Flash 开发新手,我想尝试 Flash Builder,但我需要逐帧动画。@user3711105 插入 -> 插入符号 检查一下,如何在 Flash Builder 中使用帧动画:youtube.com/watch?v=KAYBFUn1XU0 在 Flash Builder 中构建任何适合任何 android 屏幕的应用程序是否更容易?以上是关于如何修复 1120:在初始化八哥部分时访问未定义的属性 main?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 React 中的“类型错误:尝试访问对象的属性时无法读取未定义的属性名称”
如何修复未捕获的错误:调用未定义的函数 mysql_pconnect() [重复]
求助如何在 flask 中访问未定义的 url 时重定向到其他页面
如何修复 SQLSTATE [42704]:未定义对象:7 错误:数据类型 json 在heroku 托管中没有访问方法“btree”的默认运算符类