簡體   English   中英

Unity拖動不起作用,對象從指針移開

[英]Unity drag doesn't work, object moves away from the pointer

我已將以下腳本附加到Canvas內的Image

public class DragMe : MonoBehaviour, IDragHandler
{
    public void OnDrag(PointerEventData eventData)
    {
        this.transform.localPosition += (Vector3)eventData.delta;
    }
}

問題是,隨着我進一步拖動, Image從指針下方消失的越來越多。 當我拖動回到起始位置時, Image返回到手指/指針下方的位置。

將代碼更改為:

this.transform.position = eventData.position;

使物體跳到其他地方。

任何幫助深表感謝。

更新:伙計們,如果您閱讀了我的代碼,並且發現了重復的問題,那么您看到的答案就是我的問題! 但這有一個問題,即對象不會停留在拖動的手指/指針下方,並且隨着您的拖動而不斷遠離!

更新2: Image

在此處輸入圖片說明

帆布:

在此處輸入圖片說明

相機:

在此處輸入圖片說明

如果攝像機的視口未更改,最好使用“ Screen Space - Overlay ”。 然后以下代碼將起作用:

this.transform.position = eventData.position;

要使用Screen Space - Camera ,您需要將事件位置轉換為相機空間:

Vector3 position = eventData.position;
var canvas = image.canvas;
position.z = canvas.planeDistance;
image.transform.position = canvas.worldCamera.ScreenToWorldPoint(position);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM