test

来源:互联网 发布:迅捷绑定mac地址 编辑:程序博客网 时间:2024/06/18 01:08


//alg 公用库
import pge;
namespace pge.alg

getRange = 
function(x1,y1,x2,y2){ //取距离
    return ..math.sqrt((x1-x2)**2)+(y1-y2)**2)
}
getRad = 
function(x1,y1,x2,y2){//取弧度
    return math.atan2(x2-x1,y2-y1);
}
getAngle = 
function(x1,y1,x2,y2){
    
return radToAngle(..math.atan2(x2-x1,y2-y1));
}

radToAngle = 
function(rad){ //弧度转角度
    return ..math.round(180 - rad/..math.pi*180); 
}

aniSlow = 
function(n1,n2,num,dts=1){ //缓动 
    n1 += (n2-n1)*num*dts
    
return n1
}
getMax = 
function(...){//取最大值
    var arg = {...}
    
var max = 0;
    
for(i=1;#arg;1){
        max = max > arg[ i ]? max : arg[ i ]
    }
    
return max; 
}
getMin = 
function(...){//取最小值
    var arg = {...}
    
var max = 0;
    
for(i=1;#arg;1){
        max = max < arg[ i ]? max : arg[ i ]
    }
    
return max; 
}

elastic = 
function(x1,y1,x2,y2,ela,fri,dts=1){//弹性
    var vx = (x2-x1)*ela
    
var vy = (y2-y1)*ela
    vx*=fri;
    vy*=fri;
    x1 += vx*dts
    y1 += vy*dts
    
return x1,y1; 
}

rotatRound = 
function(x1,y1,x2,y2,angle= 0,radius,speed,dts=1){
    x1 = x2 + ..math.cos(angle)*radius*dts
    y1 = y2 + ..math.sin(angle)*radius*dts
    angle+= speed
    
return x1,y1,angle; 
}


angleToRad = 
function(angle){//角度转弧度
    return ..math.round(angle*math.pi/180); 
}

dotProduct = 
function(x1,y1,x2,y2){//点积
    return x1*y1+x2*y2; 
}
toPoint = 
function(x,y){
    
return {x;y}; 
}
toLine = 
function(s1x,s1y,e1x,e1y){
    
return {{s1x;s1y};{e1x;e1y}}; 
}
/**intellisense(pge.alg)
getRange(.(x1,y1,x2,y2) = 取距离
getRad(.(x1,y1,x2,y2) = 取弧度
getAngle(.(x1,y1,x2,y2) = 取角度
radToAngle(.(ead) = 弧度转角度
angleToRad(.(angle) = 角度转弧度
dotProduct(.(x1,y1,x2,y2) = 点积
toPoint(.(x,y) = 到点
toLine(.(s1x,s1y,e1x,e1y) = 到线


aniSlow(.(点1,目标点2,速度,dts) = 缓动算法。返回当前的点位置,dts是hge游戏引擎的最后帧。需要在一个循环的状态下使用,
elastic(.(当前坐标x,当前坐标y,目标坐标x,目标坐标y,弹性系数,摩擦力,dts) =弹性算法。需要在一个循环的状态下使用,dts是hge游戏引擎的最后帧。
rotatRound(.(当前坐标x,当前坐标y,目标坐标x,目标坐标y,初始化角度,半径,速度,dts) =根据目标点中心在周围旋转。返回坐标x,y和当前的角度。需要在一个循环的状态下使用,dts是hge游戏引擎的最后帧。


end intellisense**/


0 0
原创粉丝点击