function ProcessCollisions():void{
//respawn if player died
if(percentHP == 0){
    Player.x = _startMarker.x;
    Player.y = _startMarker.y;
    Gun.x = Player.x;
    Gun.y = Player.y - 45;
    _boundaries.x = 0;
    _boundaries.y = 0;
    Player.vy = 0;
    currentHP = maxHP;
}
//when Player is Falling
if(Player.vy > 0){
    //Otherwise process collisions of boundaires
        var collision:Boolean = false;
        if(_boundaries.hitTestPoint(Player.x, Player.y, true)){collision = true;}
        if(collision == true){
            while(collision == true){
                Player.y -= 0.1;
                Gun.y -= 0.1;
                collision = false;
                if(_boundaries.hitTestPoint(Player.x, Player.y, true)){collision = true;}
            }
            trace("Collision is " + collision);
            currentHP -= Player.vy * .1
            Player.vy = 0;
            Gun.vy = 0;
            JumpCount = 0;
        }
}
}
私の衝突処理は上にあります...私は_boundaries内のオブジェクトと衝突しているときでさえ、衝突ブール値が常にfalseとして返されるというこの問題を抱えています。whileループが常にプレーヤーを境界から引き離し、プレーヤーが無限にその境界に陥っているように見えるため、プレーヤーに揺れの効果をもたらします...誰かがこれを手伝ってくれるでしょうか?また、Enter Frame Timerによって呼び出されるフレームハンドラーで、Player.vyにさらにいくつかの変更を加えます。これは以下に含まれています。
function FrameHandler(e:Event):void{
    //If Statements to slow character
    if(aKeyPressed == false && Player.vx > 0){
        Player.vx -= 1
    }
    else if(dKeyPressed == false && Player.vx < 0){
        Player.vx += 1
    }
    //Gravitates Player
     Player.vy += 1.5;
    //Controls arrays of bullets for Weapons
    //Process Collisions
    ProcessCollisions();
    //Scroll Stage
    scrollStage();
    //Attunes for multiple keypresses
    MultipleKeypresses();
    //Keeps Gun attached to Players Arm
    Gun.x = Player.x
    Gun.y = Player.y - 45;
    if(sKeyPressed){
        Gun.y = Player.y - 13;
        Gun.x = Player.x + 8;
    }
    //Checks Health
    updateHealthBar()
    //move Player and Gun
    Gun.y += Player.vy;
    Gun.x += Player.vx;
    Player.x += Player.vx;
    Player.y += Player.vy;
}