因此,从我所阅读和理解的内容来看,1010错误,其中所说的"一个术语未定义且没有属性"表示某些变量尚未声明或已声明但尚未具有任何属性。那是对的吗?如果是这样,那么为什么它会在" if(_root.removeProjectiles == true)"从这个类代码:
package
{
import flash.display.MovieClip;
import flash.events.*;
import flash.media.Sound;
import flash.media.SoundChannel;
public class weapon1projectileCode extends MovieClip
{
private var _root:Object;
private var speed:int = 10;
public function weapon1projectileCode()
{
addEventListener(Event.ADDED, beginClass);
addEventListener(Event.ENTER_FRAME, entFrame);
playSound();
}
private function beginClass(event:Event):void
{
_root = MovieClip(root);
this.scaleX = .25;
this.scaleY = .2;
}
private function playSound():void
{
var sndFire:weapon1projectile_sound;
var sndFireChannel: SoundChannel;
sndFire = new weapon1projectile_sound();
sndFireChannel = sndFire.play();
}
private function entFrame(event:Event):void
{
if (_root.gamePaused == false)
{
x += speed;
if(this.x > (stage.width+ this.width))
{
removeEventListener(Event.ENTER_FRAME, entFrame);
_root.projectilePlayerContainer.removeChild(this);
}
}
if (_root.removeProjectiles == true)
{
removeEventListener(Event.ENTER_FRAME, entFrame);
_root.projectilePlayerContainer.removeChild(this);
}
}
public function removeListeners():void
{
removeEventListener(Event.ENTER_FRAME, entFrame);
}
}
}
当它在主代码中声明为""。此外," if(_root.gamePaused == false)"在相同的类代码中工作,即使它基本上是相同的结构,并且相同类型的代码在另一个类中并且它可以工作,但这不是。为什么?这到底发生了什么?
我还应该提一下,只要" removeProjectiles = true"就会在输出日志中出现错误。在这种情况下,当升级菜单出现时,它在级别的末尾。如果您希望看到代码的这一部分,请告诉我。