I keep getting this:
ArgumentError: Error #1063: Argument count mismatch on Bullet$iinit(). Expected 2, got 0.
at flash.display::Sprite/flash.display:Sprite::constructChildren()
at flash.display::Sprite$iinit()
at flash.display::MovieClip$iinit()
at UD_fla::MainTimeline$iinit()
ArgumentError: Error #1063: Argument count mismatch on Tower_Basic1$iinit(). Expected 2, got 0.
at flash.display::Sprite/flash.display:Sprite::constructChildren()
at flash.display::Sprite$iinit()
at flash.display::MovieClip$iinit()
at UD_fla::MainTimeline$iinit()
I have no idea what it’s problem is (using debug cannot show me the source of the problem it says).
Here is the class(s) it is whinging about:
package
{
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.*;
import String;
public class Bullet extends MovieClip
{
// Class wide variables.
var bmove:int = 1;
var b_name = this.name;
var t_bullet:String = b_name.substring(b_name.indexOf("_")+2, 20);
var o_tower:int = parent.target_array["bullet_"+t_bullet][0];
var etarget:String = parent["enemy_basic1_"+o_tower];
// Bullet class constructor.
public function Bullet(xPos:int, yPos:int):void
{
// Add events for further processing.
this.addEventListener(Event.ENTER_FRAME, enter_frame, false, 0, true);
}
// Bullet class, Enter Frame event.
private function enter_frame(Event):void
{
if (this.DisplayObject.x < 0 || this.DisplayObject.y < 0 || parent.enemy_array[o_tower] < 1) { parent.removeChild(this) }
if (parent[etarget]._y < this.DisplayObject.y) { this.DisplayObject.y -= bmove; }
else if (parent[etarget]._y > this.DisplayObject.y) { this.DisplayObject.y += bmove; }
if (parent[etarget]._x < this.DisplayObject.x) { this.DisplayObject.x -= bmove; }
else if (parent[etarget]._x > this.DisplayObject.x) { this.DisplayObject.x += bmove; }
if (this.DisplayObject.hitTestObject(parent[etarget]))
{
parent[etarget].hp -= parent.target_array["bullet_"+t_bullet][1];
parent.removeChild(this);
}
}
}
}
package
{
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.*;
import flash.display.Graphics;
import String;
public class Tower_Basic1 extends MovieClip
{
// Class wide variables.
var i:int = 0;
var distx:Number, disty:Number, dist:Number = 0;
// Base values.
var inst:String = "tower_basic1_" + parent.tower_basic1_ind;
var FPS:int = 30;
var FR:Number = 0.50;
var time:Number = FPS * FR;
var range:int = 50;
var dmg:int = 22;
var level:int = 1;
var u_price:int = 50;
// Upgrade values.
var FR_inc:Number = 0.05;
var range_inc:int = 5;
var dmg_inc:int = 10;
var u_price_inc:int = 20;
// Tower_Basic1 class constructor.
public function Tower_Basic1(xPos:int, yPos:int):void
{
this.DisplayObject.x = xPos;
this.DisplayObject.y = yPos;
// Add events for further processing.
this.addEventListener(Event.ENTER_FRAME, on_EnterFrame);
this.addEventListener(MouseEvent.MOUSE_DOWN, on_MouseDown);
this.addEventListener(MouseEvent.MOUSE_UP, on_MouseUp);
}
// Tower_Basic1 class, Enter Frame event.
private function on_EnterFrame(Event):void
{
if (time <= 0)
{
for (j=0; j < parent.enemy_basic1_ind; j++)
{
if (parent.enemy_array[j] > 0) // Otherwise enemy is dead.
{
distx = parent["enemy_basic1_"+j].DisplayObject.x - this.DisplayObject.x;
disty = parent["enemy_basic1_"+j].DisplayObject.x - this.DisplayObject.y;
dist = distx * distx + disty * disty - range * range;
if (dist <= 0)
{
parent.target_array["bullet_"+i] = new Array();
parent.target_array["bullet_"+i][0] = j;
parent.target_array["bullet_"+i][1] = dmg;
// Append to front of bullet_N instance names, for unique bullet id's.
var t_name:String = this.name;
var t_num:String = t_name.substring(14, 4);
//duplicateMovieClip(parent.ammo, t_num+"bullet_"+i, parent.getUnusedDepth(parent));
parent[t_num+"bullet_"+i].DisplayObject.x = this.DisplayObject.x;
parent[t_num+"bullet_"+i].DisplayObject.y = this.DisplayObject.y;
i++;
time = FPS * FR
break;
}
}
}
}
time--;
}
private function on_MouseDown(event:MouseEvent):void
{
//if (this.DisplayObject.hitTestPoint(parent.DisplayObject.mouseX, parent.DisplayObject.mouseY, true))
//{
// Clear out previous one.
//parent.createEmptyMovieClip("obj_select", parent.obj_select.getDepth());
// Draw our circle/range around the tower.
parent.obj_select.Graphics.lineStyle(1, 0, 40);
parent.obj_select.Graphics.beginFill(0x000000, 40);
parent.drawCircle(parent.obj_select, range, this.DisplayObject.x, this.DisplayObject.y);
parent.obj_select.Graphics.endFill();
// Set-up the information bar (tower Stats, function buttons etc).
parent.setInfoBar(this, true, 0);
}
private function on_MouseUp(event:MouseEvent):void
{
if (this.hitTestPoint(parent.DisplayObject.mouseX, parent.DisplayObject.mouseY, true))
{
// Clear out any selections.
//parent.createEmptyMovieClip("obj_select", parent.obj_select.getDepth());
// Set-up the information bar (Stats, function buttons etc).
//parent.setInfoBar(null, false, 0);
}
}
}
}