这是在主要课程
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.display.Sprite;
import flash.events.Event;
public class main extends MovieClip {
public var scene = 0;
public var _money = 0;
public var gain = 1;
public var clicks = 0;
public function main() {
addEventListener(Event.ENTER_FRAME, loop);
mainbtn.addEventListener(MouseEvent.CLICK, handler);
playbtn.addEventListener(MouseEvent.CLICK, playHandler);
}
var mainbtn:button = new button();
var playbtn:playbutton = new playbutton();
var playtxt:playtext = new playtext();
var cash:money_txt = new money_txt();
var scene0:MovieClip = new MovieClip();
var scene1:MovieClip = new MovieClip();
public function loop(e:Event):void {
if(scene == 0) {
addChild(scene0)
scene0.addChild(playbtn);
playbtn.x = 300;
playbtn.y = 200;
scene0.addChild(playtxt);
playtxt.x = 300;
playtxt.y = 100;
} else {
scene0.removeChild(playbtn);
scene0.removeChild(playtxt);
}
if(scene == 1) {
addChild(scene1);
scene1.addChild(mainbtn);
mainbtn.x = 300;
mainbtn.y = 200;
scene1.addChild(cash);
cash.text = 'Money: ' + _money.toString();
} else {
scene1.removeChild(mainbtn);
}
}
public function playclickHandler(e:MovieClip) {
scene = 1;
}
public function handler(e:MouseEvent):void {
_money += gain;
clicks++;
trace('yep');
}
public function playHandler(e:MouseEvent):void {
scene = 1;
}
}
} 而这就是错误所在 C:\ Users \ Slime \ Desktop \ Art-ish \ game \ main.as,第47行,第10列1119:通过静态类型money_txt的引用访问可能未定义的属性文本。
感谢您的帮助,如果可以的话!
答案 0 :(得分:1)
这些应该被定义为公共
public var mainbtn:button = new button();
public var playbtn:playbutton = new playbutton();
public var playtxt:playtext = new playtext();
public var cash:money_txt = new money_txt();
public var scene0:MovieClip = new MovieClip();
public var scene1:MovieClip = new MovieClip();
也很难判断money_txt,playtext,playbutton和button是类还是MovieClip实例。公约规定,类应以大写字母和较低的实例开头。
<强>更新强>
问题是如果按钮和播放按钮是按钮而playtext和money_txt是MovieClip,你应该将它们实例化。
例如,如果你有
public var mainbtn:button = new button();
但没有名称为button
的类,mainbtn
将为null。您可能需要做的是
public var mainbtn:Button;
public var cash:MovieClip;
作为主要或其他功能的一部分,分配实例
mainbtn = this['button'];
cash = this['money_txt'];
你可以通过检查trace(cash);
检查这是否有效,如果分配不起作用,它将返回null。
我应该再次强调,在不知道你的设置是什么的情况下很难知道到底出了什么问题。我假设money_txt
并且您定义的其他类实际上并不是具有自己的链接ID的类,而是MovieClip或舞台中的按钮和动画片段,您将放入此代码。