gamemaker studio2 实现一个贝塞尔曲线连接

首先是虚线连接的版本:

参数介绍:起点坐标X,起点坐标Y,终点坐标X,终点坐标Y,贝塞尔的测试点偏角

function scr_bezier_point(argument0,argument1,argument2,argument3,argument4 = 30){

	var _xo = argument0,_yo = argument1,_x1 = argument2,_y1 = argument3,_angle = argument4;
	// 绘制角度
	var _r =360 -  point_direction(_xo,_yo,_x1,_y1)
	if(_r >= 360)
	{
		_r -=360
	}
	// 获取测试点的角度
	var _des = point_distance(_xo,_yo,_x1,_y1)
	var _r1 = 0,_r2 = 0;
	if (_x1 >_xo && _y1<_yo)
	{
		_r1 = _r + _angle;
		_r1 = _r - _angle;
	}
	else if(_x1 >_xo && _y1>_yo)
	{
		_r1 = _r + _angle;
		_r2 = _r - _angle;
	}
	else if(_x1<_xo && _y1<_yo)
	{
			_r1 = _r + _angle;
			_r2 = _r - _angle;
	}
	else if(_x1<_xo && _y1>_yo)
	{
			_r1 = _r - _angle;
			_r2 = _r + _angle;
	}
	
	// 一号测试点
	var _p1_x = _xo+_des/3*cos(degtorad(_r1))
	var _p1_y = _yo + _des
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值