Try reinstalling Java and make sure you’re installing the 32-bit version (even if you have a 64 bit OS). http://www.oracle.com/technetwork/java/javase/downloads/java-se-jre-7-download-432155.html - you want “Windows x86 Offline” (unless you’re on Linux).
For your original code, try this:
var b:BadOne = _alice.collide("badOne", _alice.x, _alice.y) as BadOne;
Also make sure you are testing with a debug flash player. Non-debug flash players will ignore exceptions and remove the offending object from the stage (in this case, FlashPunk) silently, giving you the white screen of death and zero useful information about what’s going wrong. Try this one: http://download.macromedia.com/pub/flashplayer/updaters/13/flashplayer_13_sa_debug.exe (download it to your flashdevelop directory and go into Tools > Program Settings > FlashViewer > External Player Path to point FlashDevelop to it).
If all that fails, wrap the offending code like this:
try
{
//my code here
}
catch(e: Error = null)
{
//write the error to the stage as a text field
var tf: flash.text.TextField = new flash.text.TextField;
tf.multiline = true;
tf.Text = e.errorID + " - " + e.name + "; " + e.message + " [" + e.getStackTrace() + "]";
FP.stage.addChild(tf);
}
This is not as good as proper error reporting through your IDE as it lacks features such as double clicking a line in the stack trace to go to that line in your code, but it’ll do in a pinch (I’ve done a LOT of this kind of debugging on embedded systems where I can’t run a proper debugger).