我真的看不出来哪里出了问题!一切都没问题,但似乎我的公共类GameBackground没有正确关闭,请帮忙!我已经盯着这个问题很久了,但就是看不到它就在眼前!
package com./////./////.objects
{
import starling.display.Sprite;
import starling.events.Event;
public class GameBackground extends Sprite
(
private var bgLayer1:BgLayer;
private var bgLayer2:BgLayer;
private var bgLayer3:BgLayer;
private var bgLayer4:BgLayer;
private var _speed:Number = 0;
public function GameBackground()
{
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function onAddedToStage(event:Event):void
{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
bgLayer1 = new BgLayer(1);
bgLayer1.parallax = 0.02;
this.addChild(bgLayer1);
bgLayer2 = new BgLayer(2);
bgLayer2.parallax = 0.2;
this.addChild(bgLayer2);
bgLayer3 = new BgLayer(3);
bgLayer3.parallax = 0.5;
this.addChild(bgLayer3);
bgLayer4 = new BgLayer(4);
bgLayer4.parallax = 1;
this.addChild(bgLayer4);
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(event:Event):void
{
bgLayer1.x -= Math.ceil(_speed * bgLayer1.parallax);
if(bgLayer1 < -stage.stageWidth)
{
bgLayer1.x = 0;
}
bgLayer2.x -= Math.ceil(_speed * bgLayer2.parallax);
if(bgLayer2 < -stage.stageWidth)
{
bgLayer2.x = 0;
}
bgLayer3.x -= Math.ceil(_speed * bgLayer3.parallax);
if(bgLayer3 < -stage.stageWidth)
{
bgLayer3.x = 0;
}
bgLayer4.x -= Math.ceil(_speed * bgLayer4.parallax);
if(bgLayer4 < -stage.stageWidth)
{
bgLayer4.x = 0;
}
}
public function get speed():Number
{
return _speed;
}
public function set speed(value:Number):void
{
_speed = value;
}
}
}