Error: Cannot access a property or method of a null object reference. at enemy/loop()


hi everybody, i'm learning flash few days. want write simple game.. move "gun", , if click mouse, gun send bullet. if bullet hit enemy, enemy , bullet disapear. unfortunately, have error that's fragment of code:

 

// main (in game.fla):

var bulletholder:movieclip = new movieclip();

addchild(bulletholder);

 

function shoot(e:event):void

{

          player.y = 400;

 

          var bul:movieclip = new bullet();

          bul.x = player.x+21;

          bul.y = player.y-10;

          bul.width = 30;

          bul.height = 30;

          bulletholder.addchild(bul);

}

 

 

// code in enemy.as:

public class enemy extends movieclip {

 

                    private var core:object;

 

 

                    public function enemy() {

                              addeventlistener(event.enter_frame, loop);

                              x = math.random()*550;

                              y = -100;

                              core = movieclip(root);

                    }

 

                    private function loop(e:event) {

                              y += 4;

 

                              var ilosc:int = core.bulletholder.numchildren; // in moment, debug show error !

 

                              for(var i:int = 0; < ilosc; i++)

                              {

                                        var target:movieclip = core.bulletholder.getchildat(i);

 

                                        if(hittestobject(target))

                                        {

                                                  core.bulletholder.getchildat(i).remove(); // remove() function bullet.as

                                                  core.bulletholder.removechild(target);

 

                                                  removeeventlistener(event.enter_frame, loop);

                                                  core.removechild(this);

                                        }

                              }

 

                              if(y > 600)

                              {

                                        removeeventlistener(event.enter_frame, loop);

                                        core.removechild(this);

                              }

                    }

 

 

          }

 

please me, i'm stuck here 2 days

 

and sorry mistakes, don't know english well.

you should include complete error message in posting.

 

the 1009 error indicates 1 of objects being targeted code out of scope.  mean object....

 

- declared not instantiated

- doesn't have instance name (or instance name mispelled)

- not exist in frame code trying talk it

- animated place not assigned instance names in every keyframe it

- 1 of 2 or more consecutive keyframes of same objects no name assigned in preceding frame(s).

 

if go publish settings flash section , select option permit debugging, error message should have line number following frame number isolate object involved.



More discussions in ActionScript 3


adobe

Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support