【发布时间】:2014-02-28 15:48:57
【问题描述】:
您好,我正在开发一个简单的 Space Shooter 风格的 2D 游戏,但我卡在了对象应该限制自己移动到屏幕左右边缘之外的地方。
我在 Unity Answers 中的一个答案中实现了@Waz 解决方案,如果对象不是刚体,它会很好用。但是,如果将其应用于刚体,则对象开始闪烁。下面是我从@Waz 使用的代码
float speed = 0.1f;
Vector3 viewPos = Camera.main.WorldToViewportPoint(transform.position);
viewPos.x = Mathf.Clamp01(viewPos.x);
viewPos.y = Mathf.Clamp01(viewPos.y);
transform.position = Camera.main.ViewportToWorldPoint(viewPos);
这是@Waz 提到他的一段代码的链接: http://answers.unity3d.com/questions/148790/detecting-the-edge-of-the-screen.html
这是一个链接,上面说要为刚体使用替代解决方案,但此代码对我不起作用: http://answers.unity3d.com/questions/62189/detect-edge-of-screen.html
我不知道如何修改上面的代码,使我触摸和移动的对象不会闪烁。任何帮助都会很棒。
【问题讨论】:
标签: unity3d