找回密码
 点一下
查看: 2516|回复: 14

关于炮台

[复制链接]
发表于 2010-9-12 11:29:50 | 显示全部楼层 |阅读模式
OK 暂时停止抱怨

问问看如何用触发控制单位的炮台旋转角度
发表于 2010-9-12 14:11:39 | 显示全部楼层
你要旋转炮台到某个角度不是让它攻击某个角度处的目标就行了么?

如果你说的是控制炮台最多能旋转几度的话这个是数据编辑器里控制的,不过你可以用CatalogFieldValueSet()来在运行时更改这个值。

不过并不是所有数据都能在运行时用CatalogFieldValueSet()更改就是了。
回复

使用道具 举报

 楼主| 发表于 2010-9-12 15:30:03 | 显示全部楼层
结果我发现 根本不靠谱

让他攻击目标。。。。这个东西忒麻烦了

必须弄一个假目标 让他瞄准 然后把攻击动画的事件给砍了

不是一般囧

CatalogFieldValueSet()就算能改。。。还是不靠谱

这个东西改了 所有有这炮台的单位的炮台全都转了。。。。
回复

使用道具 举报

 楼主| 发表于 2010-9-12 15:32:52 | 显示全部楼层
搞了半天 算是搞出一个能用键盘移动

能旋转炮台

能发射炮弹的坦克了。。。

用了攻击假目标的囧方法

最后发现还是很囧

因为 无法在移动的时候 播放攻击动画 播放攻击动画 就不播放移动了。。。。。

最后果断放弃。。。太恶心了
回复

使用道具 举报

发表于 2010-9-12 16:00:03 | 显示全部楼层
自己做不到就一个劲说恶心。无聊不无聊?



怎么就不能边移动边转炮台了?你没发现坦克移动的时候本身随机转炮台的么。我看你只说了转炮台没说要一边移动才只讲了一个方案。如果你要边移动边控制炮台转向的话需要用到actor,只是这个过程就比较复杂,我当时才没说。

另外用CatalogFieldValueSet()又不是做不到只改单独一个坦克的炮台。大不了你用UnitWeaponRemove()和UnitWeaponAdd()函数给单位换上个特殊炮台,然后修改那个炮台的参数就得了。
回复

使用道具 举报

 楼主| 发表于 2010-9-12 16:03:52 | 显示全部楼层
我并没说不能边移动边旋转炮台

我是说 移动的动画 和 攻击的动画 用触发播放攻击动画的时候 就没有移动动画了

还有换特殊炮台。。。。难道我要100个这样的单位 要做100个特殊炮台么。。。
回复

使用道具 举报

发表于 2010-9-12 16:06:00 | 显示全部楼层
只需要一个,你一次只需要控制一辆坦克吧?
回复

使用道具 举报

 楼主| 发表于 2010-9-12 16:13:41 | 显示全部楼层
如果光光是玩家 也许是有限的。。

但是如果我想 做AI呢

坦克数量是不定的

而且都必要精确控制炮台角度
回复

使用道具 举报

发表于 2010-9-12 16:24:55 | 显示全部楼层
哪个人会真去做这种地图。什么情况下需要这样做?具体怎么个效果?

运行时谁来控制那么多炮?AI自己乱数决定?这和用不限制角度的炮台有何区别?你还不如把随机转炮台的维持时间改长点。


地图初始化时用脚本一一指定朝向?这不就是朝着目标放空炮么?


另外边开火边移动哪里不行了,你把Hyperion号的对地武器给坦克看。他就能一边移动一边开火。
回复

使用道具 举报

发表于 2010-9-12 17:14:44 | 显示全部楼层
如果你是说开火动画的时候履带动作会暂停的问题。

解决方案有2个一个是用AnimBracketStart和AnimBracketStop来控制开火消息的时间。中间等待0.3秒就看不出来了。视觉上只是开火瞬间履带稍微顿了一下,炮管伸缩的时候还是动得。

这个东西是在Actor Message里的,而不是Play Animiation里的。

另外其实Actor Message并不是做不到同时发布多个动画命令的效果,只是坦克本身模型是用于对战的,并非即时演算用模型,所以没做相应的骨骼而已。


另一个就是自己拼合模型了。
回复

使用道具 举报

 楼主| 发表于 2010-9-12 17:21:08 | 显示全部楼层
经过实验

不可能通过CatalogFieldValueSet()来改变炮台角度

因为只有 CTurret YawStart 才能改变角度

不过这个只能预设 不能改



这个东西 基本无法做完美
回复

使用道具 举报

 楼主| 发表于 2010-9-12 17:44:33 | 显示全部楼层
不过我也不能确定 是不是我代码写错了

CatalogFieldValueSet(c_gameCatalogTurret,"SiegeTank","YawStart",0,"100");

反正就显示 ErrorCatalogFieldNotWritten

读倒是没问题
回复

使用道具 举报

发表于 2010-9-12 18:12:02 | 显示全部楼层
这东西就算真不行也没关系,你造个无效果的武器,开火延迟时间调到最大值。然后用触发器把它给所有人呗。

你不就是想省去去掉武器开火时的Actor消息这步么。当然目标还是一定得要的。
回复

使用道具 举报

 楼主| 发表于 2010-9-12 18:19:23 | 显示全部楼层
关于 用假目标的方法

我已经做出来来了

Actor开火的动作我也删除了

总觉得是非常囧的办法。。。。。算了 不搞这个了。。。。
回复

使用道具 举报

发表于 2010-9-22 13:46:05 | 显示全部楼层
假目标都什么时代的方法了。SC2E中根本用不到了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 19:43 , Processed in 0.037799 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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