dropping dissapearing problem
hi when i drop my object disspears or go t out side of screen or another place please help me this my code: and yes i dont own ts code i just editit using System.Collections; using System.Collections.Generic; using UnityEngine;
public class draganddrop : MonoBehaviour
{
private GameObject startparent;
public GameObject canvas;
private bool isdraging = false;
private Vector2 startposition;
private bool isoverdropzone1 = false;
public GameObject dropzone1;
private bool isoverdropzone2 = false;
public GameObject dropzone2;
public GameObject gauge1;
public GameObject gauge2;
public GameObject right1;
public GameObject right2;
public GameObject left1;
public GameObject left2;
public GameObject center1;
public GameObject center2;
private bool isovergauge1 = false;
private bool isovergauge2 = false;
private bool isoverright1 = false;
private bool isoverright2 = false;
private bool isoverleft1 = false;
private bool isoverleft2 = false;
private bool isovercenter1 = false;
private bool isovercenter2 = false;
private void awake()
{
canvas = GameObject.Find("canvas");
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(isdraging)
{
transform.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
transform.SetParent(canvas.transform, true);
}
}
public void begindrag()
{
startparent = transform.parent.gameObject;
startposition=transform.position;
isdraging = true;
}
public void OnCollisionEnter2D(Collision2D collision)
{
isoverdropzone1 = true;
isoverdropzone2 = true;
isovergauge1 = true;
isovergauge2 = true;
isoverright1 = true;
isoverright2 = true;
isoverleft1 = true;
isoverleft2 = true;
isovercenter1 = true;
isovercenter2 = true;
dropzone1 = collision.gameObject;
dropzone2 = collision.gameObject;
gauge1 = collision.gameObject;
gauge2 = collision.gameObject;
right1 = collision.gameObject;
right2 = collision.gameObject;
left1 = collision.gameObject;
left2 = collision.gameObject;
center1 = collision.gameObject;
center2 = collision.gameObject;
}
private void onCollisionExit2D(Collision collision)
{
isoverdropzone1 = false;
isoverdropzone2 = false;
isovergauge1= false;
isovergauge2 = false;
isoverright1 = false;
isoverright2 = false;
isoverleft1 = false;
isoverleft2 = false;
isovercenter1 = false;
isovercenter2 = false;
dropzone1 = null;
dropzone2 = null;
gauge1 = null;
gauge2 = null;
right1 = null;
right2 = null;
left1 = null;
center1 = null;
center2 = null;
}
public void enddrag()
{
isdraging = false;
if (isoverdropzone1)
{
transform.SetParent(dropzone1.transform, false);
}
else if (isoverdropzone2)
{
transform.SetParent(dropzone2.transform, false);
}
else if (isovergauge1)
{
transform.SetParent(gauge1.transform, false);
}
else if (isovergauge2)
{
transform.SetParent(gauge2.transform, false);
}
else if (isoverright1)
{
transform.SetParent(right1.transform, false);
}
else if (isoverright2)
{
transform.SetParent(right2.transform, false);
}
else if (isoverleft1)
{
transform.SetParent(left1.transform, false);
}
else if (isoverleft2)
{
transform.SetParent(left2.transform, false);
}
else if (isovercenter1)
{
transform.SetParent(center1.transform, false);
}
else if (isovercenter2)
{
transform.SetParent(center2.transform, false);
}
else
{
transform.position = startposition;
transform.SetParent(startparent.transform, false);
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Damage Dropoff 1 Answer
2D Drag and Drop, but not when slot is already full 0 Answers
Tree rendering 0 Answers
Huge fps drop 1 Answer
my mouse is totally gone from the screen when i play the game. 0 Answers