Java和U3D比较,如何比较Unity中GameObject的名称

所以我正在做简单的游戏,把正确的答案放在正确的位置 . 这就是当你把正确的贴纸放在插槽上时你得分 . 例如,如果你把贴纸“a”放到插槽“b”,那你得到了一点 . 然后贴纸“a”,贴纸成为插槽“b”的孩子 . 问题是,当我使用游戏对象的名称它不起作用,我尝试使用debug.log来显示分数,但它不起作用 . 此脚本是插槽的组件 . draghandler来自另一个脚本,脚本是贴纸的组成部分 . 这是代码

public void OnDrop (PointerEventData eventData)

{

if (!item) {

DragHandler.itemBeingDragged.transform.SetParent (transform);

if (DragHandler.itemBeingDragged.gameObject.name == "b" && DragHandler.itemBeingDragged.transform.parent.name == "slot2") {

score = score + 25;

nilai = score.ToString();

Debug.Log ("score: "+nilai);

}}}

但是,当我使用此代码显示插槽的名称和贴纸时它的工作

public void OnDrop (PointerEventData eventData)

{

if (!item) {

DragHandler.itemBeingDragged.transform.SetParent (transform);

Debug.Log ("slot: "+DragHandler.itemBeingDragged.transform.parent.name + "item : "+DragHandler.itemBeingDragged.gameObject.name);

}

}

这是draghandler的代码

using UnityEngine;

使用System.Collections;使用UnityEngine.EventSystems;

public class DragHandler:MonoBehaviour,IDragHandler,IBeginDragHandler,IEndDragHandler {

public static GameObject itemBeingDragged;

Vector3 startPosition;

Transform startParent;

#region IBeginDragHandler implementation

public void OnBeginDrag (PointerEventData eventData)

{

itemBeingDragged = gameObject;

startPosition = transform.position;

startParent = transform.parent;

GetComponent ().blocksRaycasts = false;

}

#endregion

#region IDragHandler implementation

public void OnDrag (PointerEventData eventData)

{

startPosition = Input.mousePosition;

//Debug.Log ("namanya : " + itemBeingDragged.name);

}

#endregion

#region IEndDragHandler implementation

public void OnEndDrag (PointerEventData eventData)

{

itemBeingDragged = null;

GetComponent ().blocksRaycasts = true;

if (transform.parent == startParent) {

transform.position = startPosition;

}

}

#endregion

}

如果我的解释中缺少某些内容,请告诉我 . 谢谢 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值