【发布时间】:2016-11-16 18:26:27
【问题描述】:
我对 actionscript 很陌生,我仍在尝试找出数组和类。我正在制作一个类似于Shinobi 的奖金回合的游戏,但我使用的是飞入舞台,垂直飞出舞台,然后降落到舞台但更靠近的球棒。下面是添加蝙蝠到场景中的代码:
package {
import flash.display.MovieClip;
import flashx.textLayout.formats.BackgroundColor;
import flash.utils.Timer;
import flash.events.Event;
import flash.events.TimerEvent;
public class PlayScreen extends MovieClip
{
public var background:Background;
public var batArmy:Array;
public var addBatTimer:Timer;
public function PlayScreen()
{
background = new Background
background.x = 0;
background.y = 0;
addChild( background );
batArmy = new Array();
var newBat = new Bat( 480, -50);
batArmy.push (newBat);
addChild (newBat);
addBatTimer = new Timer(7000,2)
addBatTimer.addEventListener(TimerEvent.TIMER, addBat);
addBatTimer.start();
}
public function addBat( e:Event ):void
{
var newBat = new Bat( 480, -50);
batArmy.push ( newBat )
addChild (newBat);
}
}
蝙蝠的所有动作都在另一个名为蝙蝠的类中。
我有两个问题:
问题 #1:靠近的球棒仍会落后于更远的球棒。
问题 #2:我将 setChildIndex(PlayScreen.newBat, 0) 添加到 Bat 类的构造函数代码中,当蝙蝠靠近时添加 setChildIndex(PlayScreen.newBat, 1),但我得到“通过静态类型 Class 的引用访问可能未定义的属性 newBat”。
似乎 newBat 是在 PlayScreen 类中定义的,所以我不确定我做错了什么。有任何想法吗?就像我之前说的那样,我对此很陌生,而且几乎是自学成才的,所以我可能会做一些完全错误的事情。谢谢!
【问题讨论】:
标签: arrays actionscript-3 flash