前提・実現したいこと
ドラッグアンドドロップでspriteを運べたのですが、
画像がdrag中に消えるのですが、どうすれば出るようになりますか?
発生している問題・エラーメッセージ
該当のソースコード
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.EventSystems; 5 6public class DragAndDrop : MonoBehaviour,IBeginDragHandler,IDragHandler,IEndDragHandler,IDropHandler 7{ 8 9 public GameObject Unchi; 10 // ドラッグ前の位置 11 private Vector2 prePos; 12 public void OnBeginDrag(PointerEventData eventData) 13 { 14 prePos = transform.position; 15 Debug.Log("begin"); 16 } 17 18 public void OnDrag(PointerEventData eventData) 19 { 20 transform.position = eventData.position; 21 Debug.Log("drag"); 22 } 23 24 public void OnEndDrag(PointerEventData eventData) 25 { 26 transform.position = prePos; 27 Debug.Log("end"); 28 } 29 30 public void OnDrop(PointerEventData eventData) 31 { 32 var raycastResults = new List<RaycastResult>(); 33 EventSystem.current.RaycastAll(eventData, raycastResults); 34 35 foreach (var hit in raycastResults){ 36 if (hit.gameObject.CompareTag("DroppableField")) 37 { 38 transform.position = hit.gameObject.transform.position; 39 this.enabled = false; 40 } 41 } 42 } 43}
試したこと
このコードをimageにつけてやって見ても同じ感じで、消えてしまった
追記)imageでもう一回やってみたら消えませんでした
補足情報(FW/ツールのバージョンなど)
unity 2019.1.9f.1
Canvas上の位置(RectTransformで設定されている)と3Dオブジェクトとしての場所(Transform.position)は大抵異なります。(imageの方は偶然合致したものと思います)
「unity ugui 位置 スクリプト」などで調べてみてください。
あなたの回答
tips
プレビュー