如果放置对象,它将创建一个事件

本文关键字:事件 一个 创建 对象 如果 | 更新日期: 2023-09-27 18:07:10

public GameObject CloseCloset;
public GameObject OpenCloset;
public GameObject Key;
OnEndDrag(PointerEventData eventData)
{
  if (key. *position?* or * OverThe CloseCloset?*)
  {
      CloseCloset.setActive(false);
      OpenCloset.setActive(true); 
  }
}

我不知道怎么设置它。这是我的游戏(论文)的最后一个问题。我有这个对象(Key)和另外两个对象(Open and Close Closet),

我想要的是当我拖动我的项目(键)到CloseCloset, CloseCloset将消失,打开壁橱将出现。这就像Close CLoset有一把锁,当我拖动钥匙时,它会创建一个事件,Close CLoset将会打开。我希望我迟早能得到一个答复。

顺便说一下。它们都是Image, key是唯一具有BUTTON组件

我所创造的这个游戏就像CUBE ESCAPE

如果放置对象,它将创建一个事件

我建议这样布置你的衣柜:

创建一个空的游戏对象("Closet"),并将锁定和打开的模型都作为其子对象。禁用开放模型

然后让"Closet"处理掉落并比较游戏对象(将对键的引用存储为字段,并将其与掉落的游戏对象进行比较)。如果相同,禁用锁定模式,启用打开模式。

你也可以使用标签来比较对象,但是当你有很多不共享钥匙的钥匙和壁橱时,这可能会变得混乱。

编辑:
您可以使用https://docs.unity3d.com/ScriptReference/EventSystems.IDropHandler.html来处理拖放。