|

分享源码
界面截图: |
|
是否带模块: |
调用了模块 |
备注说明: |
- |
本帖最后由 服毒自尽 于 2025-2-8 10:34 编辑
用gdiplus实现的机械臂联动效果,还可以优化,特别时闪烁问题,颈椎有点痛,暂时就先这样吧!
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 画布 | GP图形 | | 图像 | GP图像 | | 图片 | 字节集 | 4 | 坐标 | 坐标F | 4 | 句柄 | 整数型 | | 旋转角度 | 整数型 | 4 | 初始角度 | 整数型 | 4 | 旋转中心 | 坐标F | 4 | 当前关节 | 整数型 | | 记录当前关节 | 整数型 | | 角度增减 | 整数型 | | 位置 | 坐标F | 4 | 长度 | 双精度小数型 | 4 | 线程句柄 | 整数型 | | 跳出 | 逻辑型 | | 刷新画面 | 逻辑型 | | Gdiplus初始化 ()初始化数据 ()图片 [1 ] = #a1 图片 [2 ] = #a2 图片 [3 ] = #a3 图片 [4 ] = #a4 当前关节 = 4 长度 [2 ] = 求平方根 (求平方 (取绝对值 (旋转中心 [1 ].x - 旋转中心 [2 ].x )) + 求平方 (取绝对值 (旋转中心 [1 ].y - 旋转中心 [2 ].y )) ) 长度 [3 ] = 求平方根 (求平方 (取绝对值 (旋转中心 [2 ].x - 旋转中心 [3 ].x )) + 求平方 (取绝对值 (旋转中心 [2 ].y - 旋转中心 [3 ].y )) ) 长度 [4 ] = 求平方根 (求平方 (取绝对值 (旋转中心 [3 ].x - 旋转中心 [4 ].x )) + 求平方 (取绝对值 (旋转中心 [3 ].y - 旋转中心 [4 ].y )) ) 图像. 创建自像素格式 (画板1.宽度, 画板1.高度, #像素格式_32bppARGB ) 画布. 创建自图像 (图像 ) 显示画面 ()启动线程 (&子程序1, , 线程句柄 ) 判断循环首 (跳出 = 假) 如果真 (刷新画面 = 真)  当前关节 = 记录当前关节  更新关节 (角度增减 ) 延时 (50 )  判断循环尾 ()坐标 [1 ].x = 710 坐标 [1 ].y = 470 坐标 [2 ].x = 490 坐标 [2 ].y = 254 坐标 [3 ].x = 527 坐标 [3 ].y = 214 坐标 [4 ].x = 759 坐标 [4 ].y = 228 位置 = 坐标 旋转中心 [1 ].x = 555 旋转中心 [1 ].y = 400 旋转中心 [2 ].x = 555 旋转中心 [2 ].y = 275 旋转中心 [3 ].x = 807 旋转中心 [3 ].y = 277 旋转中心 [4 ].x = 1021 旋转中心 [4 ].y = 540 初始角度 [2 ] = 90 初始角度 [3 ] = 179 初始角度 [4 ] = 231 [attach ]1358869 [/attach ]返回 (值 × 值 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 弧度 | 双精度小数型 | | | 计次 | 整数型 | | | 偏移 | 坐标F | | |
变量循环首 (当前关节, 2, -1, 计次 ) 旋转角度 [计次 ] = 旋转角度 [计次 ] - 角度  弧度 = (初始角度 [计次 ] + 旋转角度 [计次 ]) × #pi ÷ 180  偏移.x = 旋转中心 [计次 - 1 ].x  偏移.y = 旋转中心 [计次 - 1 ].y  旋转中心 [计次 - 1 ].x = 旋转中心 [计次 ].x + 长度 [计次 ] × 求余弦 (弧度 )  旋转中心 [计次 - 1 ].y = 旋转中心 [计次 ].y + 长度 [计次 ] × 求正弦 (弧度 )  偏移.x = 旋转中心 [计次 - 1 ].x - 偏移.x  偏移.y = 旋转中心 [计次 - 1 ].y - 偏移.y  位置 [计次 - 1 ].x = 位置 [计次 - 1 ].x + 偏移.x  位置 [计次 - 1 ].y = 位置 [计次 - 1 ].y + 偏移.y 变量循环尾 ()显示画面 ()画板1. 清除 (, , , ) 计次循环首 (4, 计次 ) 当前关节 = 计次  判断 (计次 = 1 或 计次 > 当前关节 )  句柄 = 载入图片 (图片 [计次 ])   画板1. 画图片 (句柄, 坐标 [计次 ].x, 坐标 [计次 ].y, , , )  句柄 = 载入图片 (渲染画面 (计次 ))   画板1. 画图片 (句柄, 0, 0, , , ) 卸载图片 (句柄) 计次循环尾 ()画板1.画笔颜色 = #红色 画板1. 画直线 (旋转中心 [1 ].x, 旋转中心 [1 ].y, 旋转中心 [2 ].x, 旋转中心 [2 ].y ) 画板1. 画直线 (旋转中心 [2 ].x, 旋转中心 [2 ].y, 旋转中心 [3 ].x, 旋转中心 [3 ].y ) 画板1. 画直线 (旋转中心 [3 ].x, 旋转中心 [3 ].y, 旋转中心 [4 ].x, 旋转中心 [4 ].y )画板1.画笔颜色 = #蓝色 画板1. 画椭圆 (旋转中心 [1 ].x - 5, 旋转中心 [1 ].y - 5, 旋转中心 [1 ].x + 5, 旋转中心 [1 ].y + 5 ) 画板1. 画椭圆 (旋转中心 [2 ].x - 5, 旋转中心 [2 ].y - 5, 旋转中心 [2 ].x + 5, 旋转中心 [2 ].y + 5 ) 画板1. 画椭圆 (旋转中心 [3 ].x - 5, 旋转中心 [3 ].y - 5, 旋转中心 [3 ].x + 5, 旋转中心 [3 ].y + 5 )画板1. 画椭圆 (旋转中心 [4 ].x - 5, 旋转中心 [4 ].y - 5, 旋转中心 [4 ].x + 5, 旋转中心 [4 ].y + 5 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 位图 | GP位图 | | | 部件 | 字节集 | | | 矩阵 | GP矩阵 | | | 计次 | 整数型 | | |
画布. 清除 () 图像. 清除 () 位图. 创建自字节集 (图片 [关节 ]) 矩阵. 创建 () 矩阵. 旋转在 (旋转角度 [关节 ], 旋转中心 [当前关节 ], ) 画布. 变形置矩阵 (矩阵 ) 画布. 画图像 (位图, 位置 [关节 ].x, 位置 [关节 ].y ) 部件 = 图像. 保存到字节集 ( #图像格式_PNG ) 位图. 销毁 ()矩阵. 销毁 ()返回 (部件 )跳出 = 真 画布. 销毁 ()图像. 销毁 ()关闭线程句柄 (线程句柄 )Gdiplus关闭 ()|
_按钮1_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
记录当前关节 = 2 角度增减 = -1 刷新画面 = 真 |
_按钮1_鼠标左键被放开 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
刷新画面 = 假 |
_按钮2_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
记录当前关节 = 2 角度增减 = 1 刷新画面 = 真 |
_按钮2_鼠标左键被放开 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
刷新画面 = 假 |
_按钮3_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
记录当前关节 = 3 角度增减 = -1 刷新画面 = 真 |
_按钮3_鼠标左键被放开 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
刷新画面 = 假 |
_按钮4_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
记录当前关节 = 3 角度增减 = 1 刷新画面 = 真 |
_按钮4_鼠标左键被放开 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
刷新画面 = 假 |
_按钮5_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
记录当前关节 = 4 角度增减 = -1 刷新画面 = 真 |
_按钮5_鼠标左键被放开 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
刷新画面 = 假 |
_按钮6_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
记录当前关节 = 4 角度增减 = 1 刷新画面 = 真 |
_按钮6_鼠标左键被放开 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
刷新画面 = 假 |
-
-
模块.zip
2.27 MB, 下载次数: 5, 下载积分: 精币 -2 枚
-
-
我这里运行起来是这样的,没有优化,所以会闪烁
评分
-
查看全部评分
|