ユーザー定義関数集

ユーザー定義関数集


特定の数値を取得する関数

GetObjectDistance

点Aと点Bとの間の距離を取得します。
function GetObjectDistance(X1,Y1,X2,Y2) {
    //X1 点AのX座標
    //Y1 点AのY座標
    //X2 点BのX座標
    //Y2 点BのY座標
    return ((Y2-Y1)^2+(X2-X1)^2)^0.5;
}

GetGapAngle

点Aから見た点Bへの角度を取得します。 主にホーミング弾を作るのに利用します。

function GetGapAngle(X1,Y1,X2,Y2) {
    //X1 点AのX座標
    //Y1 点AのY座標
    //X2 点BのX座標
    //Y2 点BのY座標
    return atan2(Y2-Y1,X2-X1);
}

GetGapX GetGapY

点Aからある距離、ある角度にある点Bの座標を取得します。 GetGapXでX座標、GetGapYでY座標を取得します。

function GetGapX(X,Length,Angle) {
    //X      点AのX座標
    //Length 点Aからの距離
    //Angle  点Aからの角度
    return X+Length*cos(Angle);
}
function GetGapY(Y,Length,Angle) {
    //Y      点AのY座標
    //Length 点Aからの距離
    //Angle  点Aからの角度
    return Y+Length*sin(Angle);
}

GetDistanceToClip

点Aからある角度の画面端の座標を取得します。

function GetDistanceToClip(x, y, angle)
{
    //x    点AのX座標
    //y    点AのY座標
    //angle    角度;
    angle=angle%360;
    let lengX;
    let lengY;
    let leng;
    if(angle==90){leng = 464-y; lengX=leng; lengY=leng}
    if(angle==270| |angle==-90){leng = y-16; lengX=leng; lengY=leng}
    if(angle==0){leng = 416-x; lengX=leng; lengY=leng}
    if(angle==180){leng= x-32; lengX=leng; lengY=leng}
    
    if(cos(angle)>0)
    {lengX = (416-x)/absolute(cos(angle));}
    else if(cos(angle)<0)
    {lengX = (x-32)/absolute(cos(angle));}
    if(sin(angle)>0)
    {lengY = (464-y)/absolute(sin(angle));}
    else if(sin(angle)<0)
    {lengY = (y-16)/absolute(sin(angle));}
    
    if(lengX<=lengY){return lengX}else{return lengY}
}

弾に関する関数

サンプル集をご覧ください。

  • 最終更新:2016-02-21 22:40:45

このWIKIを編集するにはパスワード入力が必要です

認証パスワード