9

主题

6

回帖

149

积分

普通创作者

积分
149
发表于  2024-2-4 15:33:33 | 显示全部楼层 |阅读模式 954 0
本帖最后由 只道寻常#9534 于 2024-2-5 10:46 编辑

    想必会打开这个文档的人, 都有想获取当前选中单位信息时, 不知道该怎么获取当前选中单位的情形.
例如在做一些UI界面时, 但凡涉及到单位的相关属性, 都需要先获取到单位. 然而很多人不清楚该如何获取单位.

教大家一个简单且便捷的方法. 一个动作就搞定.

    图片1.png

如此一个触发器, 一条动作, 就解决了获取当前选中单位的问题.





    当你开心的去使用, 在做多人游戏时, 会发现一个全局变量来记录当前选中单位无法满足需求.
    因为可能有4个玩家在游戏 ;
    4个玩家一人选择一个单位, 有4个单位需要记录 . 这时候单个全局变量只能记录一个单位,很明显这个方法就用不通了,那么该怎么改善呢?

    在这里, 希望大家思考并尝试用自己的方法来实现.


    Tips
    只要能实现功能的方法都是好的方法. 第二页有给出解决方案.














    不知道大家有没有用过数组这个东西.
    图片2.png
    单个变量只可以记录一个值, 而数组可以通过不同的索引值记录多个值.
    有没有觉得就像是量身给我们定做的功能.

   
    倘若通过一个数组[玩家唯一值]来记录每个玩家的 “当前选中单位”, 不但解决了储存多个单位的问题, 还间接解决了需要用多个储存器来记录多个值导致的取值复杂化问题

那我们的问题也就指定到了 玩家唯一值
也就是同一个功能能够在不同的玩家身上获取到不同的值, 且永远不会重复,且固定. 那么用什么来做为玩家唯一值会比较合适呢?

   
    玩家ID会是一个很好的选择
    玩家的ID默认为0-11,代表玩家1到玩家12
    这时候我们这么写选中单位事件
    图片3.png
   
    而在调用的时候呢
    图片4.png
   
    这时候我们尝试去想象, 理解一下运行逻辑
   
    假设  
        数组变量  ”当前选中单位”[0] = 单位 1
        数组变量  ”当前选中单位”[1] = 单位 2
        数组变量  ”当前选中单位”[2] = 单位 3
        数组变量  ”当前选中单位”[3] = 单位 4
        当玩家一触发事件时, 条件的具体表现为  单位1 等于 单位 靶子(1)
        当玩家二触发事件时, 条件的具体表现为  单位2 等于 单位 靶子(1)
        当玩家三触发事件时, 条件的具体表现为  单位3 等于 单位 靶子(1)
        当玩家四触发事件时, 条件的具体表现为  单位4 等于 单位 靶子(1)

   
    是不是就完美解决了我们当前的需求呢