Переделал весь код:

Код AS3:
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class Main extends Sprite {
private var player:Player;
private var inputArray:Array;
private var drawing_area:Bitmap;
private var trail_image:Shape;
private var game:Boolean;
private var checkA:Bitmap;
public function Main() {
initInput();
initGame();
}
private function initInput() : void {
inputArray = new Array();
for(var i:uint =0;i < 256; i++) {
inputArray.push(false);
}
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUp);
this.addEventListener(Event.ENTER_FRAME, updateGame);
}
public function onKeyDown(e:KeyboardEvent) : void {
inputArray[e.keyCode] = true;
}
public function onKeyUp(e:KeyboardEvent) : void {
inputArray[e.keyCode] = false;
}
public function updateGame(e:Event) : void {
if(inputArray[37]) {
player.rotation -= 3;
}
if(inputArray[39]) {
player.rotation += 3;
}
if( game = true ) {
player.move();
player.speed = Math.abs(player.speed);
trail_image.x = player.x;
trail_image.y = player.y;
drawing_area.bitmapData.draw(trail_image, trail_image.transform.matrix);
}
if (checkHit() == true){
trace('Готово');
}
}
private function initGame() : void {
player = new Player();
player.speed = 2;
drawing_area = new Bitmap(new BitmapData(400, 400, false));
checkA = new Bitmap();
addChild(drawing_area);
trail_image = new Shape();
trail_image.graphics.beginFill(0x00FF00);
trail_image.graphics.drawCircle(0, 0, 2);
trail_image.graphics.endFill();
player.x = 400/2;
player.y = 400/2;
}
private function checkHit():Boolean {
var check:Boolean;
check = trail_image.hitTestPoint(player.x, player.y, true);
if (check == true) {
trace(check);
return true;
}
return false;
}
}
}
На одну проблему меньше, но вторая так и осталась =)
Посмотрите на мой hitTestPoint в конце исходника, не могу понять почему не реагирует на "след"...