• 007根据矩阵基地址绘制方框


    1

    有了矩阵的基地址以后就可以读取矩阵的值放入数组中
    ReadProcessMemoryWorld (进程句柄, 矩阵基地址, ViewWorld [1] [1], 64, 0)

    2

    有了ViewWorld数组就可以吧世界坐标转换为屏幕坐标

    相机Z = ViewWorld [3] [1] × 其他人坐标.X + ViewWorld [3] [2] × 其他人坐标.Y + ViewWorld [3] [3] × 其他人坐标.Z + ViewWorld [3] [4]
    缩放比例 = 1 ÷ 相机Z
    相机X = 视角宽 + (ViewWorld [1] [1] × 其他人坐标.X + ViewWorld [1] [2] × 其他人坐标.Y + ViewWorld [1] [3] × 其他人坐标.Z + ViewWorld [1] [4]) × 缩放比例 × 视角宽
    相机Y = 视角高 - (ViewWorld [2] [1] × 其他人坐标.X + ViewWorld [2] [2] × 其他人坐标.Y + ViewWorld [2] [3] × (其他人坐标.Z - 3) + ViewWorld [2] [4]) × 缩放比例 × 视角高
    相机Y2 = 视角高 - (ViewWorld [2] [1] × 其他人坐标.X + ViewWorld [2] [2] × 其他人坐标.Y + ViewWorld [2] [3] × (其他人坐标.Z + 80) + ViewWorld [2] [4]) × 缩放比例 × 视角高
    

    3

    有了相机X和相机Y以后,我们就可以绘制出方框了

    .版本 2
    
        .如果真 (其他人血量 > 1)
            方框高度 = 相机Y - 相机Y2
            方框宽度 = 方框高度 × 0.5
            其他人距离 = 取整 (取_其他人距离 (本人坐标, 其他人坐标) ÷ 10)
            绘制矩形 (相机X - 方框宽度 ÷ 2, 相机Y2, 方框宽度, 方框高度, #红色, 2)
            方框坐标数据.左边 = 相机X - 方框宽度 ÷ 2
            方框坐标数据.顶边 = 相机Y2
            方框坐标数据.宽度 = 方框宽度
            方框坐标数据.高度 = 方框高度
            竖向血条 (方框坐标数据, 其他人血量, #绿色)
            绘制文本 (方框坐标数据.左边, 相机Y, “距离:” + 到文本 (其他人距离), #红色, 21, 255)
            绘制直线 (视角宽, 0, 相机X, 相机Y2, 2, #红色)
    

    4

    但是这里有一个问题就是你的视角前面有一个方框,视角后面也有一个方框,如何过滤掉它呢
    在算出相机Z的数值以后进行一个判断

    .版本 2
    
        ' 干掉出现两个方框的情况
        .如果真 (相机Z < 0)
            到循环尾 ()  ' break
    
  • 相关阅读:
    Servlet(九):web.xml文件和server.xml文件
    Servlet(八):ServletContext对象和ServletConfig对象
    Servlet(七):session
    Servlet(六):Cookie
    Servlet(五):请求转发和重定向
    Servlet(四):request和response对象
    Servlet(三):生命周期、常用方法、常见错误
    【php】在Windows2003下的IIS配置php5.4
    Spring AOP监控SQL运行
    算法导论—无向图的遍历(BFS+DFS,MATLAB)
  • 原文地址:https://www.cnblogs.com/xeclass/p/12509909.html
Copyright © 2020-2023  润新知