添加子项时的Starling奇怪错误

时间:2015-03-05 19:26:28

标签: actionscript-3 flash-builder starling-framework

我正在跟随用Starling构建Flash游戏的Lynda教程 在某些时候,我得到了非常奇怪的错误。

我在包对象中有类背景:

package objects
{   
import core.Assets;

import starling.display.Image;
import starling.display.Sprite;

public class Background extends Sprite
{
    private var sky1:Image;
    private var sky2:Image;

    public function Background()
    {
        sky1 = new Image(Assets.skyTexture);
        addChild(sky1);

        sky2 = new Image(Assets.skyTexture);
        sky2.y = -800;
        addChild(sky2);
    }

    public function update():void
    {
        sky1.y += 4;
        if(sky1.y == 800)
        {
            sky1.y = -800;
        }
        sky2.y +=4;
        if(sky2.y == 800)
        {
            sky2.y = -800;
        }
    }
}
}
包状态中的

和菜单类:

package states
{
import flash.display.Sprite;

import core.Game;

import interfaces.IState;

import objects.Background;

import starling.events.Event;


public class Menu extends Sprite implements IState
{

    private var game:Game;
    private var background:Background;


    public function Menu(game:Game)
    {
        this.game = game;
        addEventListener(Event.ADDED_TO_STAGE, init);

    }

    private function init(event:Event):void
    {
        background = new Background();
        addChild(background);

    }

    public function update():void
    {
    }

    public function destroy():void
    {
    }
}
}

就行了

  

的addChild(背景);   我得到这个奇怪的错误,我确信在任何其他类

中没有任何错误
Implicit coercion of a value of type Background to an unrelated type DisplayObject. Menu.as /Spacer/src/states  line 31 Flex Problem

当我在没有此行的情况下进行调试时,我没有错误。

1 个答案:

答案 0 :(得分:1)

您的Menu课程延伸flash.display.SpriteBackground课程延伸starling.display.SpriteMenu类应该从starling Sprite扩展。