找回密码
 点一下
查看: 3230|回复: 67

我想做一个能使用技能的对话框

[复制链接]
发表于 2016-5-7 11:26:11 | 显示全部楼层 |阅读模式
因为一个建筑要造很多的兵种,但是按钮一个面板放不下,做个子面板玩起来又费操作,又不方便。
所以我要做个对话框
比如点击或选择某个建筑,右边就会出现一个对话框,框里有造兵的按钮,点击按钮就像普通造兵那种一样,也有快捷键。
请问我该怎么做?能告诉我详细最好,一个步骤来的,谢谢
发表于 2016-5-8 10:14:43 | 显示全部楼层
这个是可以实现的。
第一步就是创建对话框面板和按钮,把他们排列好。当然按钮也是需要对应的记录和识别的,否则你不知道按下的按钮是哪一个。
第二步是建立按钮和技能之间的对应关系,这个有多重方案,比如使用数组,使用数据表,或者直接一个一个写上去等等。总之,你要知道点击哪个按钮需要施放哪个技能就好。
第三步就是响应按钮被点击件(任意对话框项以被点击的方式使用,判断触发对话框项是某按钮),对单位发布对应的指令。比如点击“按钮1”,发布训练陆战队员指令。如果是某些需要手动指定目标的技能,比如折跃一个狂热者,就需要使用虚空之遗新加入的发布命令进入目标选取状态动作了。这个动作没有翻译,所以简中版是看不到的,但是头目有详细的教程指导了该动作的应用,建议你参考一下。
回复

使用道具 举报

 楼主| 发表于 2016-5-8 13:23:17 | 显示全部楼层
file:///C:/Users/Administrator/AppData/Roaming/Tencent/QQ/Temp/OGTN8%60FRW(96_IS)IOJJ_JR.png那摩我这样做对吗?还有哪些没有做?

点评

无标题的触发器 001 事件 单位框选 -任意单位被玩家任意玩家已选 局部变量 条件 ((触发单位)的所有者)==(触发玩家) ((触发单位)的单位类型)==传送门 动作  详情 回复 发表于 2016-5-8 13:23
回复

使用道具 举报

 楼主| 发表于 2016-5-8 13:23:50 | 显示全部楼层
killer5957 发表于 2016-5-8 13:23
那摩我这样做对吗?还有哪些没有做?

无标题的触发器 001
    事件
        单位框选 -任意单位被玩家任意玩家已选
    局部变量
    条件
        ((触发单位)的所有者)==(触发玩家)
        ((触发单位)的单位类型)==传送门
    动作
        对话框 -为对话框 ((屏幕按钮(生产单位类型的技能命令数量)对话框)的相对对话框) 创建一个按钮, 其维度为 (200, 50), 锚点在 右, 偏移为 (50, 50), 并将说明条设为 "", 按钮文本设为 按钮文本, 以及将悬浮图片设为 ""
        对话框 -在(0,0)相对于屏幕的右创建一个尺寸为(500,400)的模态对话框
回复

使用道具 举报

 楼主| 发表于 2016-5-8 13:35:10 | 显示全部楼层
@yxxiaobin 有没有相关教材?

点评

用对话框模拟的话有一个很大的问题在于:很难简单有效的显示技能的状态,比如充能、冷却、消耗、可用性等等。当然不是无法显示这些信息,而是要想完美的达到命令面板的效果非常复杂,甚至象冷却这样的动态效果是很  详情 回复 发表于 2016-5-9 13:59
回复

使用道具 举报

发表于 2016-5-9 13:59:24 | 显示全部楼层
killer5957 发表于 2016-5-8 13:35
@yxxiaobin 有没有相关教材?


用对话框模拟的话有一个很大的问题在于:很难简单有效的显示技能的状态,比如充能、冷却、消耗、可用性等等。当然不是无法显示这些信息,而是要想完美的达到命令面板的效果非常复杂,甚至象冷却这样的动态效果是很难实现的。所以这种做法很鸡肋,不过如果你的命令可以无限制发布倒是很有用。
演示: 演示用对话框为单位发布指令.SC2Map (19.71 KB, 下载次数: 23)

另外,推荐一种跟方便快捷的方法:在同一对话框中显示多个命令面板页。因为有系统的支持,所以可以很方便的使用它们而不必针对每个按钮做特殊设置。
演示: 演示合并显示多个命令面板页.SC2Map (13.19 KB, 下载次数: 14)

点评

觉得显示多个命令面板页这个非常好,不过我研究时也遇到了些问题 我想做成一个玩家点击或选择某个建筑或幼虫才出现的对话框面板,敌人玩家和盟友点击也不会有效。如果选择其他建筑或单位对话框会自动消失。那摩条件  详情 回复 发表于 2016-5-11 12:06
回复

使用道具 举报

 楼主| 发表于 2016-5-9 21:23:59 | 显示全部楼层
大神给的东东让本萌新感到了强大的能量,谢谢
回复

使用道具 举报

 楼主| 发表于 2016-5-10 14:32:04 | 显示全部楼层
@yxxiaobin 大神能告诉我你的qq吗?我还有些东东不会qaq,这样请教你很方便,很快,谢谢
回复

使用道具 举报

 楼主| 发表于 2016-5-10 14:32:07 | 显示全部楼层
@yxxiaobin 大神能告诉我你的qq吗?我还有些东东不会qaq,这样请教你很方便,很快,谢谢
回复

使用道具 举报

 楼主| 发表于 2016-5-10 14:32:09 | 显示全部楼层
@yxxiaobin 大神能告诉我你的qq吗?我还有些东东不会qaq,这样请教你很方便,很快,谢谢
回复

使用道具 举报

 楼主| 发表于 2016-5-11 12:05:40 | 显示全部楼层
@yxxiaobin
觉得显示多个命令面板页这个非常好,不过我研究时也遇到了些问题
我想做成一个玩家点击或选择某个建筑或幼虫才出现的对话框面板,敌人玩家和盟友点击也不会有效。如果选择其他建筑或单位对话框会自动消失。那摩条件如何设置
那摩原来的面板可以不用摧毁吗?直接把新的对话框移动到右下角与原来的面板重叠这游戏时不会有什么问题吧。。能不能把面板1和面板2的位置换一下?
我一共要给3个单位添加这种的对话框,但是设置的对话框能不能设置标记或名字,这样容易分辨哪个对话框是哪个单位的。
这个单位设置的方法可以换一种方法吗?不用地图界面还要按Q的设置。。就是这个        对话框 -为(所有玩家)将(最后创建的对话框控件)的单位组设置为(单位组(传送门 [10.50, 10.50])),有没有其他的方法设置单位为传送门或幼虫?


回复

使用道具 举报

 楼主| 发表于 2016-5-11 12:06:21 | 显示全部楼层
yxxiaobin 发表于 2016-5-9 13:59
用对话框模拟的话有一个很大的问题在于:很难简单有效的显示技能的状态,比如充能、冷却、消耗、可用性 ...

觉得显示多个命令面板页这个非常好,不过我研究时也遇到了些问题
我想做成一个玩家点击或选择某个建筑或幼虫才出现的对话框面板,敌人玩家和盟友点击也不会有效。如果选择其他建筑或单位对话框会自动消失。那摩条件如何设置
那摩原来的面板可以不用摧毁吗?直接把新的对话框移动到右下角与原来的面板重叠这游戏时不会有什么问题吧。。能不能把面板1和面板2的位置换一下?
我一共要给3个单位添加这种的对话框,但是设置的对话框能不能设置标记或名字,这样容易分辨哪个对话框是哪个单位的。
这个单位设置的方法可以换一种方法吗?不用地图界面还要按Q的设置。。就是这个        对话框 -为(所有玩家)将(最后创建的对话框控件)的单位组设置为(单位组(传送门 [10.50, 10.50])),有没有其他的方法设置单位为传送门或幼虫?

点评

选中单位时显示,这个多少会有些问题,因为选中的未必是一个单位,也可能是一个单位组,你无法判断当前切换到那个子组。点击的话会更好,不过你需要先让单位能被点击,默认是无法被点击的。 至于其他问题,这些都不  详情 回复 发表于 2016-5-11 17:55
回复

使用道具 举报

发表于 2016-5-11 17:55:39 | 显示全部楼层
killer5957 发表于 2016-5-11 12:06
觉得显示多个命令面板页这个非常好,不过我研究时也遇到了些问题
我想做成一个玩家点击或选择某个建筑或 ...

选中单位时显示,这个多少会有些问题,因为选中的未必是一个单位,也可能是一个单位组,你无法判断当前切换到那个子组。点击的话会更好,不过你需要先让单位能被点击,默认是无法被点击的。
至于其他问题,这些都不是问题啦,怎么安排位置,怎么调整大小随你自己喜欢啦。要标记不同对话框的话,给对话框加个标签控件,写几个字就好了啊。
为命令面板设置单位组,你可以自己决定是哪个组,可以使用变量,也可以使用函数。

点评

要不我把文件发给你,你帮我改一下qaq  详情 回复 发表于 2016-5-11 19:11
回复

使用道具 举报

 楼主| 发表于 2016-5-11 19:10:50 | 显示全部楼层
我不会操作。。能告诉我怎么操作吗?我没什么基础。。。
回复

使用道具 举报

 楼主| 发表于 2016-5-11 19:11:27 | 显示全部楼层
yxxiaobin 发表于 2016-5-11 17:55
选中单位时显示,这个多少会有些问题,因为选中的未必是一个单位,也可能是一个单位组,你无法判断当前切 ...

要不我把文件发给你,你帮我改一下qaq

点评

我并不知道你具体需要什么,所以无法帮你排版。 我建议你先简单学习一下对话框的基本应用。比如如何创建、显示、隐藏、摧毁一个对话框,如何在对话框中创建控件(对话框项,比如按钮),如何调整对话框和对话框中控  详情 回复 发表于 2016-5-12 09:26
回复

使用道具 举报

发表于 2016-5-12 09:26:37 | 显示全部楼层
killer5957 发表于 2016-5-11 19:11
要不我把文件发给你,你帮我改一下qaq

我并不知道你具体需要什么,所以无法帮你排版。
我建议你先简单学习一下对话框的基本应用。比如如何创建、显示、隐藏、摧毁一个对话框,如何在对话框中创建控件(对话框项,比如按钮),如何调整对话框和对话框中控件的位置。只要了解了这些,应用对话框的问题就能解决一半以上。
我把前边的演示修改一下,你可以做个参考。
回复

使用道具 举报

发表于 2016-5-12 10:00:21 | 显示全部楼层
本帖最后由 yxxiaobin 于 2016-5-12 10:11 编辑

给你演示。

演示合并显示多个命令面板页.SC2Map

16.95 KB, 下载次数: 12

点评

嘿嘿!好东西我先收了 或许以后我能用得着  发表于 2016-5-13 20:27
回复

使用道具 举报

 楼主| 发表于 2016-5-12 15:33:07 | 显示全部楼层
谢谢,不过我真的研究不出来qaq,什么函数,什么值设为1,什么面板设置成什么,关键的东西我都找不到,看不懂qaq。我一个问题的问我也熬不住qaq
我目前的需要就是给传送门,折跃门,幼虫,重工厂设置对话框,点击或选中他们会出现这个带有子面板的对话框出现在右下角,把原来的面板覆盖,如果又选择其他单位的话,这个有面板的对话框会自动消失。不用摧毁原来的面板,因为其他单位还要用。子面板这一块我都做好了。剩下我该做的也就是不会的,只要把这些子面板安到相应的对话框中就行了,你能帮我给传送门,折跃门,幼虫,重工厂设置对话框吗?我十分感激qaq

点评

这位大神我1年前就找他要过QQ可惜被他当场拒绝了!我觉得你还是自己研究一下吧  发表于 2016-5-13 20:27
回复

使用道具 举报

发表于 2016-5-13 17:03:14 | 显示全部楼层
伸手党的话真的是不好的。
可以给你解释一下核心思路。
1.创建一个对话框,这个用来盛放命令面板控件。根据你的要求,可以把对话框创建在屏幕底部右侧,即右下角,偏移值为0。但是有个问题就是菜单的优先度是很高的,基本上所有东西都会被菜单挡住,所以你要设法避开它。
2.在对话框中创建若干个命令面板控件,用于显示单位的多个命令面板页。把命令面板控件放置到合适位置,具体哪里合适,取决于你认为哪里合适。
3.把命令面板的单位组设置成指定单位,这样才可以正确的显示这个单位的命令面板。也就是说,如果你把单位组设置成了某幼虫(转换为单位组),那么这个命令面板会自动显示它的命令面板,哪怕你并没有选中这个幼虫也是一样的。
4.把不同的命令面板显示成不同的页。要做到这一点,你在数据编辑器中给你的命令面板页起一个名字,我为了简单把第二个命令面板页叫做1,你也可以叫做abc什么的,反正自己知道就可以。当然,最好命名要有规则,哪怕是你自己指定的规则。为面板起好名字后就能在触发器中调用了,比如显示子菜单为"1",就会显示叫做"1"的那一页。
5.在合适的时候显示面板。这个其实是最困难的,因为选中和点击都不是很完美的解决这个问题(具体情况自行测试)。比较推荐的方案是,不要遮挡原来的面板,而是从数据编辑器中直接把第一页的按钮全部移除掉。所有的按钮都从第二页开始,这样就不会在选中单位时直接看到第一页了。而我们创建的命令面板则不会受影响,因为我们可以直接指定显示的页。让这些单位不可选中,但能被点击,这样当点击这个单位时,就能弹出面板,用完后手动或自动关闭。而任何选择单位的操作,都会自动关闭面板,这样就比较合理了。

点评

行星碎裂炮那种裂地效果是怎么弄出来的?因该有模型来支持的吧?问题是这个模型在哪?  详情 回复 发表于 2016-6-15 11:08
显示子菜单?命令面板页是哪个?这个在哪找?还有关闭按钮动作是怎么做的?函数那个又是什么功能?  详情 回复 发表于 2016-6-14 13:37
回复

使用道具 举报

 楼主| 发表于 2016-5-14 13:50:32 | 显示全部楼层
哪有叫显示子菜单?还有关闭按钮动作是怎么做的?能否用触发做。函数不会
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 07:24 , Processed in 0.642465 second(s), 34 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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