- Home /
Object disappear when position changes at runtime
Hi,
I'm currently working on a game where I'm trying to move with object at runtime, but always when it is set into editing mode and changes the position it disappears from the game screen, but I can still see it in scene screen and also moving properly. After moving is finished object won't appears again.
Here the moving script (Pardon the code but it's rough version wrote in 30 minutes)
public class PlatformBehaviour : MonoBehaviour
{
public bool Editable;
private PlayerSpelling spelling;
private Transform tra;
private Camera cam;
private bool isEditing;
private SpriteRenderer spriteRenderer;
// Use this for initialization
void Start ()
{
isEditing = false;
tra = this.transform;
spelling = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerSpelling>();
cam = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<Camera>();
spriteRenderer = GetComponent<SpriteRenderer>();
}
// Update is called once per frame
void Update ()
{
if (isEditing && tra.position != cam.ScreenToWorldPoint(Input.mousePosition))
tra.position = cam.ScreenToWorldPoint(Input.mousePosition);
if (Input.GetKeyDown(KeyCode.P) && spelling.Attempts > 0 && isEditing)
PlaceObject();
}
void OnMouseDown()
{
Debug.Log("Clicked on the platform.");
if (CheckPlayerState())
{
Debug.Log("Platform is now in editing state.");
isEditing = true;
spelling.ObjectPicked = true;
ChangeColor();
}
}
private bool CheckPlayerState()
{
if (spelling.IsActive && !spelling.ObjectPicked)
return true;
else
return false;
}
private void ChangeColor()
{
if (isEditing)
spriteRenderer.color = Color.green;
else
spriteRenderer.color = Color.white;
}
private void PlaceObject()
{
isEditing = false;
ChangeColor();
}
}
I can't move forward with this error :( Any help please? Thanks.
Comment