0

我是 actionscript3 的新手,我的代码有问题,我指的是为多设备、多分辨率世界设计,我坚持初始化八哥。语法很好,但是当我通过 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();
}
4

2 回答 2

0

当你创建 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);
        }
    }
}
于 2016-12-20T01:26:37.820 回答
0

问题来自于 Starling 的启动: starling=new Starling(Main, this.stage);

它需要一个类而不是Main启动。

您需要做的是用class: screenand插入一个新符号extends starling.display.Sprite。如下所示: 在此处输入图像描述

然后将您的代码修改为starling=new Starling(screen, this.stage);

PS:看来你是用flash cs6来开发starling的。处理起来相当困难。建议使用 Flash Develop 或 Flash Builder。

于 2016-10-14T07:04:05.187 回答