0

我从这两行中两次收到此错误

var dx = Math.cos(deg2rad(playerRocket.rotation)) * playerThrustPower;
var dy = Math.sin(deg2rad(playerRocket.rotation)) * playerThrustPower;

我似乎无法找出问题所在,我有一段时间没有使用 Actionscript,请原谅“菜鸟”

编辑:这是我的程序的所有代码。到目前为止只有两个动画剪辑,火箭和一个子动画剪辑,它只是从火箭中喷出的火焰,只有在按住鼠标左键时才能看到

//Math Variables
var radiance:Number = 180/Math.PI;

//Keydown variables
var leftClicked = false;

//More Variables
var playerRMouseDist:Number = 0;

//player properties variables
var playerThrust = false;

stage.addEventListener(Event.ENTER_FRAME, onFrame);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseRelease);

function onFrame(Event):void
{
    movePlayerRocket();
    root.scrollRect = new Rectangle(playerRocket.x - stage.stageWidth/2, playerRocket.y - stage.stageHeight/2, stage.stageWidth, stage.stageHeight);
    checkPresses();
}

function mousePress(MouseEvent):void
{
        leftClicked = true; 
}

function mouseRelease(MouseEvent):void
{
        leftClicked = false; 
}

function checkPresses():void
{
    if(leftClicked)
    {
        playerThrustOn();
    }
    else
    {
        playerThrustOff();
    }
}

function playerThrustOn():void
{
    playerThrust = true;
}

function playerThrustOff():void
{
    playerThrust = false;
}

function getAngle(x1:Number, y1:Number, x2:Number, y2:Number):Number {
    var radians:Number = Math.atan2(y2 - y1, x2 - x1);
    return rad2deg(radians);
}

function getDistance(x1:Number, y1:Number, x2:Number, y2:Number):Number
{
    var dx:Number = x2 - x1;
    var dy:Number = y2 - y1;
    return Math.sqrt(dx * dx + dy * dy);
}

function rad2deg(rad:Number):Number {
    return rad * (180 / Math.PI);
}

function deg2rad(deg:Number):Number {
    return deg * (Math.PI/180);
}

function movePlayerRocket():void
{
    rotatePlayerRocket();
    playerThrustPower();
    playerRMouseDist = getDistance(mouseX,mouseY,playerRocket.x,playerRocket.y);

    if(playerThrust)
    {
        playerRocket.playerThrustFlame.visible = true;
    }
    else
    {
        playerRocket.playerThrustFlame.visible = false;
    }

        var dx = Math.cos(deg2rad(playerRocket.rotation)) * playerThrustPower;
        var dy = Math.sin(deg2rad(playerRocket.rotation)) * playerThrustPower;
        playerRocket.x += dx;
    playerRocket.y += dy;
}

function playerThrustPower():void
{
        var playerThrustPower:Number = playerRMouseDist/8;
        playerRocket.playerThrustFlame.width = playerThrustPower;
        playerRocket.playerThrustFlame.height = playerThrustPower;
}

function rotatePlayerRocket():void
{
        var walkdirection = -(Math.atan2(mouseX-playerRocket.x, mouseY-playerRocket.y))*radiance;
        playerRocket.rotation = walkdirection;
}
4

0 回答 0