找回密码
 点一下
查看: 2257|回复: 16

关于对话框的所有者的归属问题

[复制链接]
发表于 2018-12-11 18:06:42 | 显示全部楼层 |阅读模式
屏幕截图(28).png

目前这个界面是用的每个玩家一套UI,但是我看好多例子都是用的所有玩家在创建UI,
然后控件设置是可以指定玩家的,所以如果用一套UI,

比如我设置玩家1雷诺是选中,玩家2凯瑞甘是选中。这在一套通用UI上是成立的?

点评

自己试验了一下,好使,不同玩家共用UI,但是UI呈现不同  发表于 2018-12-11 18:37
发表于 2018-12-11 19:43:34 来自手机 | 显示全部楼层
除了对话框控件的ID只是一个以外,你可以为每个玩家组设置不同的东西,几乎啥都可以

点评

Emmmm,现在正在研究自定义UI,不过我看别的帖子都是重载,我自己写了个模板,然后没办法在模板创建控件的列表找到  发表于 2018-12-12 10:17
回复

使用道具 举报

发表于 2018-12-13 18:28:55 | 显示全部楼层
这个没有问题,正如楼上所说,控件的ID是相同的,但是它的表现是针对玩家组的,你让每个玩家处于一个独立的玩家组,就能针对每个玩家设计不同表现。而且,控件对玩家的响应也是独立的,比如玩家1按下按钮,按钮会有按下动画,并在弹起时触发事件(默认),但玩家2看起来,他的按钮仍旧为非按下状态。

点评

我现在迷茫的是,比如UI里的StateGroup怎么通过触发器命令发送事件控制  详情 回复 发表于 2018-12-13 20:31
回复

使用道具 举报

 楼主| 发表于 2018-12-13 20:31:13 | 显示全部楼层
yxxiaobin 发表于 2018-12-13 18:28
这个没有问题,正如楼上所说,控件的ID是相同的,但是它的表现是针对玩家组的,你让每个玩家处于一个独立的 ...

我现在迷茫的是,比如UI里的StateGroup怎么通过触发器命令发送事件控制

点评

如果是默认UI,你需要衔接成对话框项,然后才能操控它。不过不是所有UI都能接受任意控制,多数部件的显示内容不允许触发器控制,甚至某些UI部件,重设位置也是不允许的。  详情 回复 发表于 2018-12-14 20:32
回复

使用道具 举报

发表于 2018-12-14 20:32:53 | 显示全部楼层
花时雨 发表于 2018-12-13 20:31
我现在迷茫的是,比如UI里的StateGroup怎么通过触发器命令发送事件控制

如果是默认UI,你需要衔接成对话框项,然后才能操控它。不过不是所有UI都能接受任意控制,多数部件的显示内容不允许触发器控制,甚至某些UI部件,重设位置也是不允许的。

点评

emmmm,不是默认的,但是自定义的UI,比如我用StateGroup控制控件的显示状态,这个就没有内置的动作来操作  详情 回复 发表于 2018-12-14 20:53
回复

使用道具 举报

 楼主| 发表于 2018-12-14 20:53:49 | 显示全部楼层
yxxiaobin 发表于 2018-12-14 20:32
如果是默认UI,你需要衔接成对话框项,然后才能操控它。不过不是所有UI都能接受任意控制,多数部件的显示 ...

emmmm,不是默认的,但是自定义的UI,比如我用StateGroup控制控件的显示状态,这个就没有内置的动作来操作

点评

如果你把状态条赋予了单位,它会根据UI文件中定义的方式自动生效。如果创建到了对话框中,也可以使用“为对话框项设置单位”动作来为它指定单位。如果你在状态条组中加入了自定义的东西,比如图片,也可以衔接后使用  详情 回复 发表于 2018-12-15 00:05
回复

使用道具 举报

发表于 2018-12-15 00:05:32 | 显示全部楼层
花时雨 发表于 2018-12-14 20:53
emmmm,不是默认的,但是自定义的UI,比如我用StateGroup控制控件的显示状态,这个就没有内置的动作来操 ...

如果你把状态条赋予了单位,它会根据UI文件中定义的方式自动生效。如果创建到了对话框中,也可以使用“为对话框项设置单位”动作来为它指定单位。如果你在状态条组中加入了自定义的东西,比如图片,也可以衔接后使用触发器操作它。

点评

emmm,说起来有点复杂 1.我做了一个按钮,然后他的StateGroup用来显示按钮的点击等状态。 2.这个按钮不是重载的任何跟系统本身的事情相关的事件。 3.StateGroup如果用的是非切换状态,我自定义一个叫A、B、C。 4  详情 回复 发表于 2018-12-15 12:07
回复

使用道具 举报

 楼主| 发表于 2018-12-15 12:07:14 | 显示全部楼层
yxxiaobin 发表于 2018-12-15 00:05
如果你把状态条赋予了单位,它会根据UI文件中定义的方式自动生效。如果创建到了对话框中,也可以使用“为 ...

emmm,说起来有点复杂
1.我做了一个按钮,然后他的StateGroup用来显示按钮的点击等状态。
2.这个按钮不是重载的任何跟系统本身的事情相关的事件。
3.StateGroup如果用的是非切换状态,我自定义一个叫A、B、C。
4.我想比如通过动作,为控件发送状态事件,指定名称叫StateGroup,值是A这样。
5.这样我的按钮就可以A显示雷诺的头像,B显示凯瑞甘的头像

点评

没看明白,状态条不是用来自动显示单位状态信息的吗?比如生命值,行为进度条等。如果你不需要这些功能,可以用基础控件来实现吧?  详情 回复 发表于 2018-12-15 18:23
回复

使用道具 举报

发表于 2018-12-15 18:23:17 | 显示全部楼层
花时雨 发表于 2018-12-15 12:07
emmm,说起来有点复杂
1.我做了一个按钮,然后他的StateGroup用来显示按钮的点击等状态。
2.这个按钮不 ...

没看明白,状态条不是用来自动显示单位状态信息的吗?比如生命值,行为进度条等。如果你不需要这些功能,可以用基础控件来实现吧?

点评

不是,就是跟重载没关系, 比如  详情 回复 发表于 2018-12-15 21:27
回复

使用道具 举报

 楼主| 发表于 2018-12-15 21:27:20 | 显示全部楼层
yxxiaobin 发表于 2018-12-15 18:23
没看明白,状态条不是用来自动显示单位状态信息的吗?比如生命值,行为进度条等。如果你不需要这些功能, ...

不是,就是跟重载没关系,

比如
<Frame 按钮
    <Image background
    <Image border
    <Image highlightborder
    <StateGroup ???
        <state checked
            <when checked
            <border visible=false

就这种的,比如我想在触发器里通过什么动作给这个按钮发一个checked的事件
回复

使用道具 举报

发表于 2018-12-17 09:55:07 | 显示全部楼层
这个是没有办法的。不过你可以不判断点击,而是判断一个属性,当属性变化时做某事。这样当你的按钮点击时,改变这个属性,或者直接改变属性(而不需要玩家点击按钮),都能被UI接收。

点评

你这个思路是没问题,我就想找个正经的门路干这个事  详情 回复 发表于 2018-12-17 10:58
回复

使用道具 举报

 楼主| 发表于 2018-12-17 10:58:14 | 显示全部楼层
yxxiaobin 发表于 2018-12-17 09:55
这个是没有办法的。不过你可以不判断点击,而是判断一个属性,当属性变化时做某事。这样当你的按钮点击时, ...

你这个思路是没问题,我就想找个正经的门路干这个事

点评

顺便,不知道你实际设计是不是上边代码提到的那样。如果仅仅是响应按钮按下来禁用按钮的话,这种事最好使用触发器,而不是UI。UI能实现很好地自动化,多次创建时并不需要额外代码的支持。但是有时候一个简单的功能需  详情 回复 发表于 2018-12-17 11:06
触发器无法真正发送“让玩家a按某按钮”这种事件。只能模拟按按钮的动画,以及按按钮之后的后果。  发表于 2018-12-17 10:59
回复

使用道具 举报

发表于 2018-12-17 11:06:31 | 显示全部楼层
花时雨 发表于 2018-12-17 10:58
你这个思路是没问题,我就想找个正经的门路干这个事

顺便,不知道你实际设计是不是上边代码提到的那样。如果仅仅是响应按钮按下来禁用按钮的话,这种事最好使用触发器,而不是UI。UI能实现很好地自动化,多次创建时并不需要额外代码的支持。但是有时候一个简单的功能需要很多UI代码,这时直接使用触发器就是个很好地选择了。
我觉得StateGroup比较重要的是做通用mod,可以让用户很方便的使用现成的东西,如果是自己单张地图上偶尔的应用,其实不是很推荐。我自己的一个通用mod中做了一个强化版的复选框以及单选框,就用到了这个功能。

点评

用处确实不大,你还记着我仿照游戏合作任务的那个选指挥官的界面吧,那个好几个控件叠一起的问题,其实就用UI代码比较舒服了  详情 回复 发表于 2018-12-17 11:09
回复

使用道具 举报

 楼主| 发表于 2018-12-17 11:09:29 | 显示全部楼层
yxxiaobin 发表于 2018-12-17 11:06
顺便,不知道你实际设计是不是上边代码提到的那样。如果仅仅是响应按钮按下来禁用按钮的话,这种事最好使 ...

用处确实不大,你还记着我仿照游戏合作任务的那个选指挥官的界面吧,那个好几个控件叠一起的问题,其实就用UI代码比较舒服了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 17:04 , Processed in 0.635710 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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