找回密码
 点一下
查看: 1414|回复: 13

请问怎么将单位移到一直线上?

[复制链接]
发表于 2011-7-19 01:06:03 | 显示全部楼层 |阅读模式
就像DotA的牛头人酋长的ult,裂地者,请问怎么将单位移到同一直线上,请问X和Y轴该怎么算呢?(本人小学刚刚完,所以不会算...希望不要见怪~~)或者点野可以...但是别是移动单位组到圆心...
发表于 2011-7-19 01:07:33 | 显示全部楼层
   大概大概大概也许也许也许

  我算算看

总之这个我貌似学过的。。。极坐标无效

(释放点)Xy (目标点)Xy。。。。。。。好吧我忘了



  亏我还是。。。初三
回复

使用道具 举报

发表于 2011-7-19 01:14:22 | 显示全部楼层
同一直线就是极坐标,循环整数,两点距离,两点角度,然后移到循环点吧。。
回复

使用道具 举报

 楼主| 发表于 2011-7-19 01:17:55 | 显示全部楼层
引用第2楼绝影之姿于2011-07-19 01:14发表的  :
同一直线就是极坐标,循环整数,两点距离,两点角度,然后移到循环点吧。。
额...不好意思,..不太明白
回复

使用道具 举报

发表于 2011-7-19 01:19:21 | 显示全部楼层
呃。。我也不确定,我先试下
回复

使用道具 举报

发表于 2011-7-19 01:46:04 | 显示全部楼层
我觉得我数学退步好大。。
回复

使用道具 举报

发表于 2011-7-19 02:03:59 | 显示全部楼层
华丽的战吧,小毛驴~~~
回复

使用道具 举报

发表于 2011-7-19 03:02:03 | 显示全部楼层
34.jpg 就因为你的XY轴先入为主啊。。。
改了100遍啊100遍。。

[trigger]未命名触发器 003
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 bang
    动作
        设置 p[0] = ((触发单位) 的位置)
        设置 d[1] = (技能施放点)
        设置 d[0] = (从 p[0] 开始,距离 100.00 ,方向为 (p[0] 到 d[1] 的角度) 度的位移处)
        循环动作[循环整数A]从 1 到 25, 运行 (Loop - 动作)
            Loop - 动作
                设置 p[循环整数A [R]] = (从 p[0] 开始,距离 (100.00 x (转换 循环整数A [R] 为实数)) ,方向为 (p[0] 到 d[1] 的角度) 度的位移处)
                特殊效果 - 在 p[循环整数A [R]] 创建特效: Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl
                点 - 清除 p[循环整数A [R]]
        等待 1.00 秒(游戏时间)
        循环动作[循环整数B]从 1 到 25, 运行 (Loop - 动作)
            Loop - 动作
                设置 p[循环整数B [R]] = (从 p[0] 开始,距离 (100.00 x (转换 循环整数B [R] 为实数)) ,方向为 (p[0] 到 d[1] 的角度) 度的位移处)
                设置 group[循环整数B [R]] = (半径为 200.00 圆心为 p[循环整数B [R]] 且满足 (((匹配单位) 是 ((触发单位) 的所有者) 的敌对单位) 等于 TRUE) 的所有单位)
                单位组 - 选取 group[循环整数B [R]] 内所有单位做动作
                    Loop - 动作
                        单位 - 立即移动 (选取单位) 到 (从 p[0] 开始,距离 (((Cos(((p[0] 到 d[1] 的角度) - (p[0] 到 ((选取单位) 的位置) 的角度)))) 的绝对值) x (p[0] 和 ((选取单位) 的位置) 之间的距离)) ,方向为 (p[0] 到 d[1] 的角度) 度的位移处)
                单位组 - 删除 group[循环整数B [R]]
                点 - 清除 p[循环整数B [R]]
        点 - 清除 p[0]
        点 - 清除 d[1]
[/trigger]

那啥,不是很完整,大致看看就行了。。
回复

使用道具 举报

发表于 2011-7-19 03:04:51 | 显示全部楼层
然后是坑爹的截图~
直线.gif
回复

使用道具 举报

发表于 2011-7-19 05:58:49 | 显示全部楼层
[jass]
loop
exitwhen i < 12
call SetUnitX(u,ux+(100+i)*Cos(angle*bj_DEGTORAD))
call SetUnitY(u,uy+(100+i)*Sin(angle*bj_DEGTORAD))
set i = i + 1
endloop
[/jass]
JASS里只需这么写
回复

使用道具 举报

发表于 2011-7-19 08:22:20 | 显示全部楼层
引用第9楼土包子于2011-07-19 05:58发表的  :
[jass]
loop
exitwhen i < 12
call SetUnitX(u,ux+(100+i)*Cos(angle*bj_DEGTORAD))
call SetUnitY(u,uy+(100+i)*Sin(angle*bj_DEGTORAD))
.......
LS这个。。写错了吧。。
要是i>=12的话不就永远跳不出循环了吗。。
回复

使用道具 举报

发表于 2011-7-19 09:09:16 | 显示全部楼层

是>
回复

使用道具 举报

 楼主| 发表于 2011-7-19 10:27:14 | 显示全部楼层
感謝大家,已經解決
回复

使用道具 举报

发表于 2011-7-19 10:30:24 | 显示全部楼层
原来WC是小学生……真正的正太原来在这里……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-24 10:48 , Processed in 0.038888 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表