I had been working on a rudimentary platformer game on Flash CS3, until I tried to load a bitmap greater than the maximum size. Even though I’ve axed that section of the code, restarted the program, and restarted the computer, it acts like I’ve loaded the too-big-bitmap again.
It gets better. In desperation, I made the block of code that used to start loading the oversize bitmap throw a standard error. I was treated to an error so large that it contains 199 separate errors in this pattern:
verify com.flashgames.bunnyhopper::LevelManager/setLevel()
stack:
scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ com.flashgames.bunnyhopper::LevelManager$]
locals: com.flashgames.bunnyhopper::LevelManager * * * * * * * *
…followed by this cryptic output:
VerifyError: Error #1058: Illegal operand type: * must be int.
at com.flashgames.bunnyhopper::LevelManager/setLevel()
at com.flashgames.bunnyhopper::LevelManager/xmlLoadedListener()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.learningactionscript3::LoadText/onComplete()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
Here’s the culprit block of code:
private function setLevel():void {
throw new Error('Big Nasty Error!');
fireController = new FireController();
levelSprites = new Sprite();
addChild(levelSprites);
enemies = [];
projectiles = [];
items = [];
var fighterInfo:XML = levelsXML.level.(@num == levelNum).fighter[0];
var FighterType:Class = getDefinitionByName("com.flashgames.bunnyhopper." + fighterInfo.@type) as Class;
fighter = new FighterType(this);
fighter.x = fighterInfo.@x;
fighter.y = fighterInfo.@y;
addFighter(fighter);
for each (var enemyInfo:XML in levelsXML.level.(@num == levelNum).enemy) {
var EnemyType:Class = getDefinitionByName("com.flashgames.bunnyhopper." + enemyInfo.@type) as Class;
var enemy:Enemy = new EnemyType(this);
enemy.x = enemyInfo.@x;
enemy.y = enemyInfo.@y;
addEnemy(enemy);
}
var goal:Goal;
for each (var itemInfo:XML in levelsXML.level.(@num == levelNum).item) {
var ItemType:Class = getDefinitionByName("com.flashgames.bunnyhopper." + itemInfo.@type) as Class;
var item:Item = new ItemType(this);
item.x = itemInfo.@x;
item.y = itemInfo.@y;
addItem(item);
}
var terrainURL = levelsXML.level.(@num == levelNum).@terrain;
var bgURL = levelsXML.level.(@num == levelNum).@background;
bgLoader = new Loader();
bgLoader.load(new URLRequest(bgURL));
bgLoader.contentLoaderInfo.addEventListener(Event.INIT, imageLoadedListener, false, 0, true);
terrainLoader = new Loader();
terrainLoader.load(new URLRequest(terrainURL));
terrainLoader.contentLoaderInfo.addEventListener(Event.INIT, imageLoadedListener, false, 0, true);
numLoading = 1;
}
The only thing I can think of to try now is reinstalling CS3, but I want some professional opinions first. Does anybody know what all this means?