wangzhen 发表于 2022-6-14 11:21:25

让单位围绕某固定对象移动一圈和移动轨迹类似闪电方法


ABO三角形
up-get-point-distance 单位固定对象的距离 R 除以2获得偏移格数
up-lerp-tiles 偏移到该格数 因为OA和AB是相等
up-cross-tiles 上面得到距离再偏移到该格数 得到OA的位置 一直正或减 可以正反转圈一周
R减去得到OA距离的差 等于要偏移多少格
让单位移动到点 如此反复 每次移动 计时加1 最后回到原地 知道走一圈要多少时间



wangzhen 发表于 2022-6-14 12:12:36


移动一边是正 下次移动是反 如此反复
直到到达最终目的

wangzhen 发表于 2022-6-22 12:55:32

本帖最后由 wangzhen 于 2022-7-6 09:43 编辑

2分1法 获取攻击敌人突破口或以某个群体的中心搜索附近的单位
计算两种写法

                (up-clean-search search-local object-data-precise-x search-order-asc);精确X坐标从小排序
                (up-modify-goal varTmp3354 g:= varTmp3353)
                (up-modify-goal varTmp3354 c:/ 2)
                (up-set-target-object search-local g: varTmp3354)
                (up-get-object-data object-data-precise-x varTmp3355)
                (up-modify-goal vec2Tmp395_x g:= varTmp3355)
                (up-clean-search search-local object-data-precise-y search-order-asc);精确y坐标从小排序
                (up-modify-goal varTmp3356 g:= varTmp3353)
                (up-modify-goal varTmp3356 c:/ 2)
                (up-set-target-object search-local g: varTmp3356)
                (up-get-object-data object-data-precise-y varTmp3357)
                (up-modify-goal vec2Tmp395_y g:= varTmp3357)

                (up-copy-point vec219 vec2Tmp395)
next


                                    (up-set-target-object search-local c: 0)
                                    =>
                                    (up-get-object-data object-data-precise-x gl-temp2-x) ;coordinate * 100
                                    (up-get-object-data object-data-precise-y gl-temp2-y)
                                    (up-modify-goal gl-temp1-x g:+ gl-temp2-x)
                                    (up-modify-goal gl-temp1-y g:+ gl-temp2-y)
                                    (up-get-search-state gl-local-total)
                                    (up-modify-goal gl-temp c:+ 1) ;number of points checked
                                    )

         (up-compare-goal gl-local-total > 0)
         =>
               (up-remove-objects search-local object-data-index == 0)减去首号直到gl-local-total为0
               (up-get-search-state gl-local-total)
                (up-jump-rule -2)
                   )

    (up-compare-goal gl-temp > 0)
       =>
      (up-modify-goal gl-temp1-x g:/ gl-temp) ; finder gennemsnitskoordinaten
       (up-modify-goal gl-temp1-y g:/ gl-temp)

       (up-copy-point vec219 gl-temp1-x)

wangzhen 发表于 2022-6-28 14:35:17

本帖最后由 wangzhen 于 2022-8-7 14:31 编辑



该图以A向中心o up-cross-tiles直角偏移正数C 顺时针旋转90度 到返回原位 C所在的位置
根据图 如果E通过up-find-player获得最近敌人的点 E是可变 A与中心O E互相连接 获得是钝角三角形 说明敌人在很远地方 以中心为界 在A的对面并且距离满足AE大于AO,AE大于OE 并且AE不等于AO+OE

以E点圆心搜索附近是否有城墙有城墙搜索2格范围内有多少个城墙 大于4个 是双层墙

找树点



(up-get-point position-self gl-temp-x)
(up-get-point position-object gl-temp1-x)
(up-cross-tiles gl-temp1-x gl-temp-x c: 3)
(up-lerp-tiles gl-temp1-x gl-temp-x c: -5)
(up-set-target-point gl-temp1-x)
(up-clean-search search-remote object-data-distance search-order-asc)



(up-get-point position-self gl-temp-x)
(up-set-target-point gl-temp-x)
(up-clean-search search-remote object-data-distance search-order-asc)




(up-get-point position-self gl-temp-x)
(up-set-target-point gl-temp-x)
(up-clean-search search-remote object-data-distance search-order-desc)




(up-get-point position-self gl-temp-x)
(up-get-point position-object gl-temp1-x)
(up-cross-tiles gl-temp1-x gl-temp-x c: -5)
(up-lerp-tiles gl-temp1-x gl-temp-x c: 3)
(up-set-target-point gl-temp1-x)
(up-clean-search search-remote object-data-distance search-order-asc)




(up-get-point position-self gl-temp-x)
(up-get-point position-object gl-temp1-x)
(up-lerp-tiles gl-temp1-x gl-temp-x c: 5)
(up-set-target-point gl-temp1-x)
(up-clean-search search-remote object-data-distance search-order-asc)

兵在敌人TC的后面 已知AC大于AO AC-AO的差=OC敌人TC到兵距离


(up-get-point position-self gl-temp1-x)
(up-modify-goal gl-temp1-x c:* 100)
(up-modify-goal gl-temp1-y c:* 100)
(up-copy-point gl-temp2-x gl-enemyTC-x)
(up-modify-goal gl-temp2-x c:* 100)
(up-modify-goal gl-temp2-y c:* 100)
(up-get-point-distance gl-temp1-x gl-temp2-x gl-temp10)
(up-get-point-distance gl-temp1-x gl-temp9-x gl-temp11)
(up-modify-goal gl-temp11 g:- gl-temp10)
(up-get-point-distance gl-temp1-x gl-temp9-x gl-temp10)
(up-compare-goal gl-temp11 > 200)
(up-compare-goal gl-temp10 g:== gl-temp11)
盟友最远距离建造市场的方式
确定盟友的所在位置在哪个角落 角落之间距离小于地图尺寸25% 设置开始的点 偏移坐标量 所在位置可建造 否则每次增加偏移量
map-size

TINY-MAP(超小型 (2 名游戏者)120X120)30
SMALL-MAP(小型 (3 名游戏者)144X144)36
MEDIUM-MAP(中型 (4 名游戏者)168X168)42
NORMAL-MAP(一般型 (6 名游戏者)200X200)50
LARGE-MAP(大型 (8 名游戏者)220X220)55
GIANT-MAP(巨大240X240)60
LUDIKRIS-MAP (超大480X480)DE才有 120

在受到多个投石车攻击时 如何依次回避







页: [1]
查看完整版本: 让单位围绕某固定对象移动一圈和移动轨迹类似闪电方法