关灯
请选择 进入手机版 | 继续访问电脑版
查看详细介绍
开启左侧

A星寻路错误 .错误(10044): 不能将“整数型”数据转换到“坐标型”数据。

[复制链接]
波罗 发表于 2019-7-31 21:24:40 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
.版本 2
.支持库 spec

.程序集 窗口程序集1
.程序集变量 大漠, 大漠中文版
.程序集变量 寻路, A星寻路
.程序集变量 地图数据, 地图数据

.子程序 __启动窗口_创建完毕

' --------------------------------------------------
大漠.创建对象 ()
大漠.置全局路径 (“E:\游戏外挂制作\大漠梦想”)
大漠.字库_置文件 (0, “坐标.txt”)
寻路.初始化DLL ()
' --------------------------------------------------
' --------------------------------------------------

.子程序 寻路程序
.参数 传入信息, 地图数据
.参数 终点, 坐标型
.局部变量 误差, 坐标型
.局部变量 原始终点, 坐标型
.局部变量 开始坐标, 坐标型
.局部变量 起点, 坐标型
.局部变量 可执行坐标, 坐标流型
.局部变量 下步坐标, 坐标型
.局部变量 当前坐标, 坐标型
.局部变量 角色正中, 坐标型
.局部变量 移动比例, 坐标型
.局部变量 屏幕坐标, 坐标型
.局部变量 步长度, 整数型
.局部变量 步长, 坐标型

' ---------------------------------------------
' ---------------------------------------------
步长度 = 5
误差 = 5
' 步长 = 5
原始终点 = 终点
起点 = 取当前坐标 ()
调试输出 (起点.x, 起点.y)
' ---------------------------------------------
可执行坐标 = 寻路.确定坐标流 (1, 起点, 终点)
起点.x = 可执行坐标.起点x
起点.y = 可执行坐标.起点y
终点.x = 可执行坐标.终点x
终点.y = 可执行坐标.终点y
' --------------------------------------------
' --------------------------------------------
.如果 (寻路.搜索路径 (传入信息.地图编号, 传入信息.地图点阵, 起点, 终点) = 真)
    角色正中.x = 720
    角色正中.y = 450
    移动比例.x = 40
    移动比例.y = 25
    .循环判断首 ()
        下步坐标 = 寻路.取路径点 (传入信息.地图编号, 起点)
        .如果 (下步坐标.x ≠ 0)
            .循环判断首 ()
                当前坐标 = 取当前坐标 ()
                寻路.坐标流左下转换 (当前坐标, 传入信息)
                屏幕坐标 = 寻路.坐标转换 (角色正中, 当前坐标, 下步坐标, 移动比例)
                .如果真 (屏幕坐标.x ≤ 323 或 屏幕坐标.y ≤ 122 或 屏幕坐标.x ≥ 1230 或 屏幕坐标.y ≥ 757)
                    调试输出 (“太快了,要等下”)
                    辅助延时 (1000)
                .如果真结束

            .循环判断尾 (取绝对值 (屏幕坐标.x) ≤ 323 或 取绝对值 (屏幕坐标.y) ≤ 122 或 取绝对值 (屏幕坐标.x) ≥ 1230 或 取绝对值 (屏幕坐标.y) ≥ 757)
            .如果 (寻路.确定是否到达 (当前坐标, 原始终点, 误差) = 假 或 下步坐标.x ≠ 0)
                步长.x = 下步坐标.x - 当前坐标.x
                步长.y = 下步坐标.y - 当前坐标.y
                .如果真 (步长.x ≥ 步长度 或 步长.y ≥ 步长度 或 寻路.确定是否到达 (当前坐标, 原始终点, 误差 = 真))
                    大漠.鼠标移动 (屏幕坐标.x, 屏幕坐标.y)
                    大漠.鼠标_左键单击 ()
                    辅助延时 (100)

                .如果真结束

            .否则
                跳出循环 ()
            .如果结束

        .否则
            跳出循环 ()
        .如果结束

    .循环判断尾 (寻路.确定是否到达 (当前坐标, 原始终点, 误差) = 假 或 下步坐标.x ≠ 0)
    调试输出 (“寻路完成”)

.否则
    信息框 (“不能寻路,找不到路径”, 0, )
.如果结束


.子程序 _按钮_调试按钮_被单击
.局部变量 终点, 坐标型

' 地图数据 = 寻路.搭建地图 (画板1, #雷鸣大陆)
' 调试输出 (地图数据.地图编号, 地图数据.地图宽度, 地图数据.地图高度)
终点.x = 到整数 (编辑框x.内容)
终点.y = 到整数 (编辑框y.内容)
寻路程序 (地图数据, 终点)

.子程序 取当前坐标, 坐标型
.局部变量 x, 文本型
.局部变量 y, 文本型
.局部变量 当前坐标, 坐标型

x = 大漠.识字 (1363, 35, 1392, 50, “f7b650-000000”, 0.9)
y = 大漠.识字 (1393, 36, 1425, 51, “f7b650-000000”, 0.9)
当前坐标.x = x
当前坐标.y = y
返回 (当前坐标)

.子程序 _按钮1_被单击
.局部变量 句柄, 整数型

辅助延时 (2000)
句柄 = 大漠.窗口_取鼠标指向句柄 ()
大漠.绑定 (句柄, “dx2”, “windows3”, “windows”, 0)

 

精彩评论1

正序浏览
波罗 发表于 2019-7-31 21:25:31 | 显示全部楼层
此帖仅作者可见

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
作者专栏

联系我们:当前QQ有在线

联系QQ

联系微信

QQ客服服务:

905230496

QQ客服服务 905230496

QQ客服服务 905230496

QQ客服服务 905230496

Copyright   ©2015-2016  易编远航Powered by©Discuz!技术支持:迪恩网络    ( 粤ICP备14079334号