Flash Game Creating Score-Dynamic Text Field (AS3) -
creating pacman-like game, player eats objects. when movieclip (box) eats circle on stage, score in dynamic text field should go 10 points.
receiving error: line: `scorefield.text = " " + string(currentscore);
error message: call possibly undefined method string.
package { import flash.display.sprite; import flash.display.movieclip; import flash.events.event; import flash.events.keyboardevent; import flash.ui.keyboard; public class move extends movieclip { //var scoreobjects:array = new array(); // creates scoreobjects array var circle:movieclip; private var keyright:boolean=false; private var keyleft:boolean=false; private var keyforward:boolean=false; private var keybackward:boolean=false; private var forwardmove:int=0; private var sidemove:int=0; private var inertia:int=8; //amount of friction //var score_field:string; //var point:movieclip; //private var playerscore:int; var currentscore:int; // constructor-------------------------------------------------------------------- public function move() { init(); } // function init ----------------------------------------------------------------- function init():void { //stage.framerate=60; //var score_field:string=""; /*scoreobjects[0] = new circle(); scoreobjects[0].amount = 1; // amount of point -- not sure scoreobjects[0].name = "circle";*/ circle.amount = 10; // each circle worth 10 points //var playerscore:int = 0; var currentscore:int = 0; stage.addeventlistener(event.enter_frame, frameloop); stage.addeventlistener(keyboardevent.key_down,keydownevent); stage.addeventlistener(keyboardevent.key_up, keyupevent); box.addeventlistener(event.enter_frame, eatcircle); wall.addeventlistener(event.enter_frame, hitwall); //stage.addchild(scoreobjects[0]); // add score objects stage ------------------------------ //trace(scoreobjects[0]); /*scoreobjects[0].x = 105; scoreobjects[0].y = 233;*/ } // function eatcircle -------------------------------------------------------------- function eatcircle(event:event):void { if (box.hittestobject(circle)) { trace ("i ate circle"); stage.removechild(circle); var newpoint:int; newpoint = circle.amount; // point = scoreobjects[0].amount //store property's value of amount in variable...? calcpoints(newpoint); //box.deleteeventlistener(event.enter_frame, eatcircle) //calcscore(); //playerscore++; } else { trace ("i didn't eat circle"); } } function calcpoints(newpoint:int):void { currentscore += newpoint; updatedisplayscore(currentscore); } function updatedisplayscore(currentscore:int) { scorefield.text = " " + string(currentscore); var displaytext:string=""; displaytext = scorefield.text; // assigning message field*/ } // function hitwall -------------------------------------------------------------- function hitwall(event:event):void { if (box.hittestobject(wall)) { box.y+=6; } else if (box.hittestobject(wall2)) { box.y-=6; } else if (box.hittestobject(wall3)) { box.x+=6; } else if (box.hittestobject(wall4)) { box.x-=6; } } // function keydownevent ------------------------------------------------------------ function keydownevent(event:keyboardevent):void { switch (event.keycode) { case keyboard.up: keyforward = true; keybackward = false; break; case keyboard.down: keybackward = true; keyforward = false; break; case keyboard.left: keyleft = true; keyright = false; break; case keyboard.right: keyright = true; keyleft = false; break; } } // function keyupevent ------------------------------------------------------------ function keyupevent(event:keyboardevent):void { switch (event.keycode) { case keyboard.up: keyforward = false; break; case keyboard.down: keybackward = false; break; case keyboard.left: keyleft = false; break; case keyboard.right: keyright = false; break; } } // function frameloop ------------------------------------------------------------ function frameloop(event:event):void { //amount of force if (keyforward) { forwardmove -=2; } if (keybackward) { forwardmove += 2; } if (keyleft) { sidemove -= 2; } if (keyright) { sidemove += 2; } forwardmove +=(0-forwardmove)/inertia; sidemove +=(0-sidemove)/inertia; box.y+=forwardmove; box.x+=sidemove; //point = e.currenttarget.amount; } }// end of class }// end of package
scorefield.text = " " + string(currentscore);
should be
scorefield.text = " " + string(currentscore);
Comments
Post a Comment