找回密码
 点一下
查看: 2981|回复: 11

用设置单位X和Y制作位移的角度等问题

[复制链接]
发表于 2008-8-2 02:21:33 | 显示全部楼层 |阅读模式
就像题目一样  


如果不用点的话  是否可以制作单位位移



比如我做了这样一个触发



---------------------------------------------------------------------------------------------
触发:

事件:任意单位发动技能效果

条件:释放技能等于某某某

动作:

设置Caster等于触发单位
设置Caster的X坐标为 ( (Caster所在的X坐标)+(200*(cos(45) ) ) )
设置Caster的Y坐标为 ( (Caster所在的Y坐标)+(200*(sin(45) ) ) )


-----------------------------------------------------------------------------------------------


做了上面这样一个触发后.

问题1:当单位放了技能后 发生的是侧面移动的, 如何制作才能朝正前方,也就是面向角度移动呢

问题2:当单位放过一次技能后,如果不移动一段距离,在原地再次放技能的话. 将会没有任何反映.
这BUG该如何解决呢?


请求帮忙3: 能否给个演示吗? 





我想要这样的效果.      任何时候单位放个技能 都能瞬间移动到单位面前200距离处..

用点的话我也会,   我想用设置X和Y来弄.  因为这样在位移过程中也可以做动作,   

于是就试做了下.  就是上面的触发.  失败了.




如果你帮我完成了这个瞬移  我就可以自己再琢磨下慢慢移动过去的做法..

因为做瞬移比较简单些.   所以麻烦你们了

testyyy.w3x

18 KB, 下载次数: 9

发表于 2008-8-2 02:41:40 | 显示全部楼层
设置单位面向角度为45,如果那个单位不会乱动的话设置一次就够了
回复

使用道具 举报

 楼主| 发表于 2008-8-2 02:44:42 | 显示全部楼层
设置单位45度?  什么意思?   我有两个问题......


能否像上次一样地. 详细解决一下.
回复

使用道具 举报

发表于 2008-8-2 02:54:38 | 显示全部楼层
问题1单位-设置单位面向角度为45度

问题2你只是这样说我看不出有什么问题

问题3就一个动作不用了吧
回复

使用道具 举报

 楼主| 发表于 2008-8-2 03:45:09 | 显示全部楼层
附件已上传..  麻烦帮忙看下


单位的 面前200距离处   用X和Y 怎么算啊   好象要加弧度之类的东西吧...

是不是COS SIN之类的呀啊


整个怎么表示呀
回复

使用道具 举报

发表于 2008-8-2 04:08:13 | 显示全部楼层
问题挺多的
1 sin cos要用角度那个,而不是弧度那个
2 第二个动作你X和Y坐标弄错了
3 加上设置面向角度了
4 问题2的bug我没发现

我去睡了,还有问题等白天会有人帮你解决得

testyyy.w3x

18 KB, 下载次数: 8

回复

使用道具 举报

 楼主| 发表于 2008-8-2 04:18:07 | 显示全部楼层
恩  早点休息吧   我去试了
回复

使用道具 举报

 楼主| 发表于 2008-8-2 04:25:27 | 显示全部楼层
不行.....     人物会斜着飞...


而且人物走动了  方向改了  飞的路径却没改...


等你们明天帮我解决吧.
回复

使用道具 举报

发表于 2008-8-2 07:52:08 | 显示全部楼层
[trigger]www3
事件
单位 - 任意单位 发动技能效果
条件
(施放技能) 等于 神圣护甲
动作
设置 caster[0] = (触发单位)
单位 - 设置 caster[0] 的X坐标为 ((caster[0] 所在X轴坐标) + (200.00 x (Cos(((触发单位) 的面向角度)))))
单位 - 设置 caster[0] 的Y坐标为 ((caster[0] 所在Y轴坐标) + (200.00 x (Sin(((触发单位) 的面向角度)))))

[/trigger]
回复

使用道具 举报

发表于 2008-8-2 09:55:36 | 显示全部楼层
我以为你一定要45度角呢,LS是正解
回复

使用道具 举报

发表于 2008-8-2 10:14:04 | 显示全部楼层
[jass]function PolarProjectionBJ takes location source,real dist,real angle returns location
    local real x = GetLocationX(source) + dist * Cos(angle * bj_DEGTORAD)
    local real y = GetLocationY(source) + dist * Sin(angle * bj_DEGTORAD)
    return Location(x, y)
endfunction[/jass]
看看这里
抄这个公式吧

顺便说下..设置坐标单位的移动速度不能为0
回复

使用道具 举报

发表于 2008-8-2 14:01:17 | 显示全部楼层
这个看下

testyyy.w3x (18 KB, 下载次数: 14)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 02:29 , Processed in 0.057931 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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