如何在屏幕边缘动态创建GameObjects

时间:2014-11-12 15:42:48

标签: unity3d unityscript

我创建了一个简单的脚本,允许我使用RigidBody2D和BoxCollider2D创建和定位4个不同的GameObject,以适应所选的相机大小和方面。问题是:在创建游戏对象之后,场景看起来类似于:

Dynamically created walls.

不幸的是,我的游戏玩法要求此屏幕的边缘覆盖有45°角的类似游戏对象。这是必要的,以避免我的播放器在墙壁和角落弹跳时卡住。

Dynamically created corners.

如何动态创建此对象,在每个对象上设置为45°旋转并将其放置在屏幕的角落?这就是我到目前为止所做的:

topWall.size = new Vector2 (mainCam.ScreenToWorldPoint (new Vector3 (Screen.width * 2f, 0f, 0f)).x, 1f);
topWall.center = new Vector2 (0f, mainCam.ScreenToWorldPoint (new Vector3 ( 0f, Screen.height, 0f)).y + 0.5f);

bottomWall.size = new Vector2 (mainCam.ScreenToWorldPoint (new Vector3 (Screen.width * 2, 0f, 0f)).x, 1f);
bottomWall.center = new Vector2 (0f, mainCam.ScreenToWorldPoint (new Vector3( 0f, 0f, 0f)).y - 0.5f);

leftWall.size = new Vector2(1f, mainCam.ScreenToWorldPoint(new Vector3(0f, Screen.height*2f, 0f)).y);;
leftWall.center = new Vector2(mainCam.ScreenToWorldPoint(new Vector3(0f, 0f, 0f)).x - 0.5f, 0f);

rightWall.size = new Vector2(1f, mainCam.ScreenToWorldPoint(new Vector3(0f, Screen.height*2f, 0f)).y);
rightWall.center = new Vector2(mainCam.ScreenToWorldPoint(new Vector3(Screen.width, 0f, 0f)).x + 0.5f, 0f);

这是用于在第一张图片上创建四个红墙的脚本。如何修改它以创建正方形,旋转它们并在角落上定位?

谢谢!

0 个答案:

没有答案