2015-12-18 55 views
1

我在屏幕空間覆蓋渲染模式畫布。所以我想要的是當用戶觸摸屏幕上的一些圖像必須完全出現在用戶觸摸屏幕的相同位置。我的圖像應該在UI層。我會取得的成果,如果我的畫布在屏幕空間相機通過以下渲染模式..世界座標到UI座標,反之亦然?

Image img = null // I assign it via the inspector 

void Update() 
{ 
    if(Input.GetMouseButtonDown(0)) 
    { 
     Vector2 point; 
     RectTransformUtility.ScreenPointToLocalPointInRectangle((RectTransform)img.rectTransform.parent, 
                   Input.mousePosition, canvasCamera, out point); 
     img.rectTransform.anchorPosition = point; 
    } 
} 

,但我想實現在屏幕空間疊加的結果相同渲染模式,因爲我有很多是沒有按UI組件不適合在屏幕上。 PLZ幫助我。

回答

1
[SerializeField] private Image image = null; 
void Update() 
{ 
    image.position = Input.mousePosition; 
} 

這將使圖像跟隨鼠標指針。樞軸點定義圖像的位置將在鼠標指針下正確。

+0

我不希望圖像跟隨鼠標指針,我只是想將圖像放在畫布中檢測到的觸摸位置。 – willnotquit

+0

我在那裏展示的是,你不需要轉換任何東西來獲得鼠標位置的UI對象。只需將它放在你展示的輸入代碼中,並且應該做你以後的事情,即將UI項目放置在發生點擊的位置 – Everts