golang 科学下载第三方包
启动下载代理
启动下载代理
2D 中 (C)
参考:https://www.cnblogs.com/yushuo/p/9304218.html
//点PCx,PCy到线段PAx,PAy,PBx,PBy的距离
double GetNearestDistance(double PAx, double PAy,double PBx, double PBy,double PCx, double PCy)
{
double a,b,c;
a=getDistanceBtwP(PAy,PAx,PBy,PBx);//经纬坐标系中求两点的距离公式
b=getDistanceBtwP(PBy,PBx,PCy,PCx);//经纬坐标系中求两点的距离公式
c=getDistanceBtwP(PAy,PAx,PCy,PCx);//经纬坐标系中求两点的距离公式
if(b*b>=c*c+a*a)return c;
if(c*c>=b*b+a*a)return b;
double l=(a+b+c)/2; //周长的一半
double s=sqrt(l*(l-a)*(l-b)*(l-c)); //海伦公式求面积
return 2*s/a;
}
3D 中(C#)
参考:https://www.jianshu.com/p/8ba826e6208a
public static float distancePoint2Line(Vector3 point, Vector3 linePoint1, Vector3 linePoint2)
{
float fProj = Vector3.Dot(point - linePoint1, (linePoint1 - linePoint2).normalized);
return Mathf.Sqrt((point - linePoint1).sqrMagnitude - fProj * fProj);
}
/etc/netplan/50-cloud-init.yaml
network:
version: 2
renderer: networkd
ethernets:
ens3:
addresses:
- 154.204.42.134/24
gateway4: 154.204.42.254
match:
macaddress: fa:16:3e:b9:65:3b
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
set-name: ens3
应用修改
sudo netplan apply
支持JS脚本插件,存放路径:
C:/Users/<USER>/AppData/Local/Tiled/extensions/
~/Library/Preferences/Tiled/extensions/
~/.config/tiled/extensions/
示例插件:https://github.com/mapeditor/tiled-extensions
官方说明: https://doc.mapeditor.org/en/stable/reference/scripting/
需要对象挂有Collider组件才能计算射线,某些情况下不适用。
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //从摄像机发出到点击坐标的射线
RaycastHit hit;
if (Physics.Raycast(ray, out hit)) //需要有Collider组件才能碰撞到
{
Debug.Log(hit.point);//碰撞坐标
}
}
参考
https://blog.csdn.net/abcjennifer/article/details/6688080
public static class MyUtils
{
/*
* 求一条直线与平面的交点
* [param] planeVector, 平面的法线向量.
* [param] planePoint, 平面经过的一点坐标.
* [param] lineVector, 直线的方向向量.
* [param] linePoint, 直线经过的一点坐标.
* [returns] 是否想交, rtn 是交点坐标.
*/
public static bool PlaneLineIntersectPoint(ref Vector3 planeVector, ref Vector3 planePoint, ref Vector3 lineVector, ref Vector3 linePoint, out Vector3 rtn)
{
float vp1, vp2, vp3, n1, n2, n3, v1, v2, v3, m1, m2, m3, t, vpt;
vp1 = planeVector.x;
vp2 = planeVector.y;
vp3 = planeVector.z;
n1 = planePoint.x;
n2 = planePoint.y;
n3 = planePoint.z;
v1 = lineVector.x;
v2 = lineVector.y;
v3 = lineVector.z;
m1 = linePoint.x;
m2 = linePoint.y;
m3 = linePoint.z;
vpt = v1 * vp1 + v2 * vp2 + v3 * vp3; //点乘
//首先判断直线是否与平面平行(正确的浮点判断0方式)
if (Math.Abs(vpt) <= 0.000001f)
{
rtn.x = rtn.y = rtn.z = 0;
return false;
}
t = ((n1 - m1) * vp1 + (n2 - m2) * vp2 + (n3 - m3) * vp3) / vpt;
rtn.x = m1 + v1 * t;
rtn.y = m2 + v2 * t;
rtn.z = m3 + v3 * t;
return true;
}
}
Asset store 免费下载。
http://www.pixelplacement.com/itween/documentation.php
用来实现类似cocos中action系统类似的编程动作。
移动
iTween.MoveTo(gameObject, iTween.Hash("x", trackPosXs[curTrack], //移动x位置
"easeType", "easeInOutExpo", //移动方式
"loopType", "none", // 不循环
"delay", 0)); // 延迟