actionscript 3 - AS3 Cannot access a property or method of a null object reference -
i've been searching type of error on every sites haven't found solution this. error in gold
class @ _money.addtext(stage);
thing makes me more confused when _money.addtext(stage);
called in main
class works without error. please help. thanks!
and other thing want ask too. in gold
class. tried tracing see how count money does. , stays @ 5 no matter how many golds i've clicked. wonder why won't increase ?
here gold class:
package { import flash.display.movieclip; import flash.events.event; import flash.events.mouseevent; public class gold extends movieclip { private var _main:main private var gold:gold; public var destinationy:int; private var _money:money = new money(); public function gold(main:main):void { _main=main; addeventlistener(mouseevent.click, goldclicked); } private function goldclicked(e:mouseevent):void { e.currenttarget.removeeventlistener(mouseevent.click,goldclicked); _main.goldcontainer.removechild(e.currenttarget gold); _money.money+=5; trace(_money.money); _money.addtext(stage); } } }
here money class :
package { import flash.text.textfield public class money { public var money:int; private var moneytext:textfield = new textfield(); public function money():void { } public function addtext(stage:object):void { stage.addchild(moneytext); moneytext.x = 5; moneytext.y = 5; moneytext.height = 20; moneytext.textcolor=0x000000; updatemoney(); } public function updatemoney():void { moneytext.text="money: " } } }
some parts of main class :
package { import flash.display.movieclip; import flash.display.sprite; import flash.utils.timer; import flash.events.timerevent; import flash.events.event; public class main extends movieclip { private var field:array; public var gold:gold; public var goldcontainer:sprite = new sprite(); private var goldtimer:timer = new timer(2000); public var _money:money = new money(); public function main():void { setupfield(); _money.addtext(stage); goldset(); addeventlistener(event.enter_frame,onenterfrm); } } }
in display object not have access stage until has been added stage. need wait event.
change
public function main():void { setupfield(); _money.addtext(stage); goldset(); addeventlistener(event.enter_frame,onenterfrm); }
to
public function main():void { this.addeventlistener(event.added_to_stage, onstage) } public function onstage(e:event):void{ this.removeeventlistener(event.added_to_stage, onstage) setupfield(); _money.addtext(stage); goldset(); addeventlistener(event.enter_frame,onenterfrm); }
Comments
Post a Comment