我目前正在尝试编写脚本gameobject/sprite
以Unity
完全移出屏幕然后被销毁。但是到目前为止,使用我当前的代码,精灵并没有完全移出屏幕。
这是我当前的代码:
void MoveObstacle()
{
this.transform.position -= new Vector3(this.transform.position.x, speed * Time.deltaTime, this.transform.position.z);
}
void CheckIfOffscreen()
{
Vector3 spriteSize = this.GetComponentInChildren<Renderer>().bounds.size;
Debug.Log(spriteSize);
Vector3 screenPos = Camera.main.WorldToScreenPoint(this.transform.position);
if(screenPos.y < 0 - spriteSize.y/2)
{
this.DestroyObstacle();
}
}
void DestroyObstacle()
{
Destroy(gameObject);
}
这段代码的问题是它不会让我的精灵在精灵被破坏之前完全移出屏幕。当一半精灵离开屏幕时它会消失,这不是我想要的行为。
我知道我只是遗漏了一些东西或使用spriteSize
不正确。有谁知道如何解决这个问题?
谢谢