找回密码
 点一下
查看: 1982|回复: 12

请问如何设置触发,双击盟友的单位则框选地图上所有该盟友的该单位

[复制链接]
发表于 2018-7-5 09:49:04 | 显示全部楼层 |阅读模式
双击左键点击盟友的XX单位,就框选上所有该盟友的XX单位
发表于 2018-7-9 16:25:44 来自手机 | 显示全部楼层
事件:玩家双击xx单位 条件:单位属于盟友 动作:挑选全地图内属于该盟友的xx单位 将被挑选的单位加入选择队列

点评

事件用哪个关键字,找不到双击XX单位这个关键字  详情 回复 发表于 2018-7-9 18:04
回复

使用道具 举报

 楼主| 发表于 2018-7-9 18:04:02 | 显示全部楼层
超级007x 发表于 2018-7-9 16:25
事件:玩家双击xx单位 条件:单位属于盟友 动作:挑选全地图内属于该盟友的xx单位 将被挑选的单位加入选择队列

事件用哪个关键字,找不到双击XX单位这个关键字

点评

本来就没有这个事件。  发表于 2018-7-9 18:30
回复

使用道具 举报

发表于 2018-7-9 21:43:49 来自手机 | 显示全部楼层
如果没有双击你可以弄个类似效果的 事件:玩家点击单位 条件:该单位已被该玩家选中

点评

这个思想是不错的,不过存在一个小瑕疵,如果单位早就被玩家选中,然后点击单位的时候也会通过检测。 其实楼主这个问题没有很好地解法,除非改动所有单位的标旗,使其相应点击事件。然后这么做: 单位被点击 判断  详情 回复 发表于 2018-7-10 18:35
回复

使用道具 举报

发表于 2018-7-10 18:35:39 | 显示全部楼层
本帖最后由 yxxiaobin 于 2018-7-10 19:31 编辑
超级007x 发表于 2018-7-9 21:43
如果没有双击你可以弄个类似效果的 事件:玩家点击单位 条件:该单位已被该玩家选中

这个思想是不错的,不过存在一个小瑕疵,如果单位早就被玩家选中,然后点击单位的时候也会通过检测。
其实楼主这个问题没有很好地解法,除非改动所有单位的标旗,使其相应点击事件。然后这么做:
单位被点击
判断记录,玩家上一次点击的单位是不是这个单位
如果是,为触发玩家选择被点击单位所属玩家的全部单位
如果不是,把这个单位记录给玩家
创建一个线程,等待若干秒(双击最大间隔,推荐4-8个游戏周期)移除这个记录。

这里边注意一个细节就是:你必须能操控友军单位,否则无法选择多个单位。
---------------------------------------------------------------------------------------------------------------------
好吧,我也搞笑了。
玩家点下鼠标到鼠标弹起的时间并不受代码控制,这时候就可能出现玩家抬起鼠标过于缓慢而导致无法正确选定,但却能触发自带的双击选择同类单位功能。这可能会让玩家觉得有点蒙。我试着增加延时,能抵消大部分情况。但是如果玩家属于极端慢性子的话,仍然可能会出现上述情况。
1.SC2Map (72.56 KB, 下载次数: 1)
回复

使用道具 举报

发表于 2018-7-10 21:50:40 来自手机 | 显示全部楼层
这是我仔细想想的: 事件:单位被点击 动作:if被点击的单位自定义值x为0 then设置自定义值x为1 if被点击单位自定义值x为1 then 执行加入同种单位类型单位与队列 end if 等待0.6秒 设置被点击的单位自定义值x为0

点评

补充 总条件:被点击的单位所有者是盟友  详情 回复 发表于 2018-7-10 21:54
回复

使用道具 举报

发表于 2018-7-10 21:54:21 来自手机 | 显示全部楼层
超级007x 发表于 2018-7-10 21:50
这是我仔细想想的: 事件:单位被点击 动作:if被点击的单位自定义值x为0 then设置自定义值x为1 if被点击单位 ...

补充 总条件:被点击的单位所有者是盟友
回复

使用道具 举报

发表于 2018-7-13 10:35:58 | 显示全部楼层
本帖最后由 隐匿的大神 于 2018-7-13 10:46 编辑

然而事情并没有那么复杂,只需要一个行为就可以搞定。
需要在每个单位 标旗里取消勾选 无法被点击 ,
点击响应.SC2Map (10.83 KB, 下载次数: 4, 售价: 1 GA币)
即使没有单位的控制权,仍然可以选择单位,并且支持验证器,但验证器不能比较触发的玩家。
本地时无法选择所有单位,因为玩家放下鼠标时会选定那个单位,联机对战时有延迟点击后不会马上触发所以可以选择。也可以手动加入延迟。

但是缺点有而且很大,如果盟友选择了这个单位,那么盟友就会选择他的全部单位,所以谨慎使用吧。
Screenshot2018-07-13 10_27_01.jpg
不过通常来讲,能让盟友选择操纵的单位,不是退出了就是电脑玩家吧?

补充:可以通过反复的选择而不是延时选择提高响应感并且避免选不上的问题。

点评

使用点击响应的思路不错,可以避免使用触发器。 但是有一个问题依然不能解决:如果你没有控制权,就无法选取多个单位。直接拿你的演示进行测试,就会发现,选择是选择了,但是闪一下,立即被取消。  详情 回复 发表于 2018-7-15 12:50
回复

使用道具 举报

发表于 2018-7-15 12:50:46 | 显示全部楼层
本帖最后由 yxxiaobin 于 2018-7-15 13:01 编辑
隐匿的大神 发表于 2018-7-13 10:35
然而事情并没有那么复杂,只需要一个行为就可以搞定。
需要在每个单位 标旗里取消勾选 无法被点击 ,

使用点击响应的思路不错,可以避免使用触发器。
但是有一个问题依然不能解决:如果你没有控制权,就无法选取多个单位。直接拿你的演示进行测试,就会发现,选择是选择了,但是闪一下,立即被取消。
-------------------------------------------------------------------------------------
你是不是传错了版本了?点击自己单位依然有这个问题。按住鼠标被选择,抬起鼠标取消选择。你确定这是在你自己电脑上测试成功的地图了吗?
至于自己点击也会选择的副作用,把点击响应的标旗改了就可以了。
-------------------------------------------------------------------------------------
我分析了一下原因,应该和我上边提到的原因是一致的:点击事件总是在点下鼠标时触发,但鼠标弹起时程序会判定一次选择。如果使用延时,是可以让点击选择效果滞后的,但又回到开始的问题,你无法控制玩家按下鼠标按钮的延时有多久——毕竟,系统判定的窗口期长达半秒之多,我们不可能加这么久的延时的,否则用户体验会崩成渣。

点评

让你选择中立单位啦  详情 回复 发表于 2018-7-15 19:14
回复

使用道具 举报

发表于 2018-7-15 19:14:12 | 显示全部楼层
本帖最后由 隐匿的大神 于 2018-7-15 19:15 编辑
yxxiaobin 发表于 2018-7-15 12:50
使用点击响应的思路不错,可以避免使用触发器。
但是有一个问题依然不能解决:如果你没有控制权,就无法 ...

让你选择中立单位啦
即使没有控制权,依旧可以选择。你是不是连截图都没看

点评

必须要禁止玩家选择不可控制单位才可以,如果开启这一选项,将出现我所说的情况。虽然多数情况禁止玩家选择不可控制单位并没有太多不变,但多少还是有些局限的。尽管不完美,但依然是一个很好的方案,值得推荐。。  详情 回复 发表于 2018-7-16 19:13
回复

使用道具 举报

发表于 2018-7-16 19:13:55 | 显示全部楼层
隐匿的大神 发表于 2018-7-15 19:14
让你选择中立单位啦
即使没有控制权,依旧可以选择。你是不是连截图都没看

必须要禁止玩家选择不可控制单位才可以,如果开启这一选项,将出现我所说的情况。虽然多数情况禁止玩家选择不可控制单位并没有太多不变,但多少还是有些局限的。尽管不完美,但依然是一个很好的方案,值得推荐。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 11:01 , Processed in 0.133276 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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