gpt4 book ai didi

mysql - 跟踪玩家何时进入/离开游戏中的区域

转载 作者:行者123 更新时间:2023-11-29 15:14:40 25 4
gpt4 key购买 nike

我目前正在开发一款基于 UI 的游戏,其中有一个包含带有区域(正方形)的网格的“世界地图”。

区域通过来自数据库 (MySQL) 的 json 文件加载,并显示在网格布局组中。每个区域在数据库中都有一个 zoneID,该 ID 在区域预制件上的本地变量中设置。

当玩家(您)点击某个区域时,您将看到一个“前往”按钮。当按下“前往”按钮时,其想法是将玩家“移动”到该区域,将该区域的图像框着色为黄色以突出显示您所在的位置。没有实际的玩家在移动,只有 UI 和文本显示信息。

我的问题:

  1. 有什么好的、简单的方法可以让系统知道您位于哪个区域?我正在考虑 bool 或类似 (bool playerInZone) 的东西,但如何在其他区域将其设置为 true/false?
  2. 当玩家离开一个区域并进入另一个区域时,如何重置颜色?目前,我在按下按钮时设置颜色没有问题,但我似乎不知道如何重置以前的区域。

我似乎无法理解这个......

我不确定是否需要代码,我只需要关于如何在这种情况下思考的提示。

最佳答案

更好地理解问题后进行编辑:

我想我明白你的困惑来自哪里。您可能认为游戏对象应该以某种方式体现在游戏 View /物理中,实际上许多游戏对象只是携带游戏逻辑相关代码的不可见单元。

我认为一个好的解决方案是保留一个管理器游戏对象来跟踪玩家的当前位置。当您拦截移动玩家的 UI 输入时,您将通过管理器执行此操作,管理器将负责从当前区域中删除突出显示并将其应用到新区域。

将“区域”保留为所述管理器的子对象可能是个好主意。了解如何从父游戏对象中查找游戏对象。我不确定哪个对象拦截鼠标单击,但假设它是区域本身,那么管理器可以订阅区域上单击时将触发的事件,或者简单地重构为具有单个对象(可能是管理器)处理 UI 输入。

希望这对您更有帮助。如果您需要任何说明,请告诉我。

上一条评论

使用 collider trigger .

您可以使用OnTriggerEnterOnTriggerExit每当玩家在该区域时设置一个 bool 值。如果您想在不同的触发器和不同的区域之间进行协调,您将需要某种经理来处理这个问题。

关于mysql - 跟踪玩家何时进入/离开游戏中的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59809548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com