Unity3d:彩色图层

时间:2014-01-13 09:41:23

标签: c# unity3d

我一直在搜索如何使用Unity3dtk2d中绘制彩色矩形。我想要的是在不使用任何精灵的情况下创建彩色图层,并且在某些时候我将屏蔽该图层以在其中放置一个洞。我希望系统绘制一个彩色矩形以节省资源。有没有办法实现这个目标?

谢谢!

1 个答案:

答案 0 :(得分:0)

[ExecuteInEditMode]
public class StretchSprite : MonoBehaviour
{
    public tk2dCamera UserInterfaceCamera;
    private tk2dSprite _sprite;
    protected void Start()
    {
        _sprite = GetComponent<tk2dSprite>();
    }
    protected void Update()
    {
        if (_sprite)
        {
            _sprite.scale = new Vector3(UserInterfaceCamera.ScreenExtents.height / _sprite.CurrentSprite.GetUntrimmedBounds().size.y,
                UserInterfaceCamera.ScreenExtents.width / _sprite.CurrentSprite.GetUntrimmedBounds().size.x, 1.0f);
        }
    }
}

我拉伸一个黑色像素来填充这样的屏幕以淡化相机......

编辑:我想我不应该每次都这样做...只是在方向改变时

编辑: “我认为EASIEST这样做的方法是创建一个精灵并在精灵集合编辑器中更改scale属性 - 例如,如果它的1x1,将比例设置为4096x4096并且精灵将填满你的屏幕。你不需要在运行时改变任何比例。被剪裁的像素实际上不会花费任何成本,因此这可能是一种快速的方法。“

http://2dtoolkit.com/forum/index.php/topic,726.msg3479.html#msg3479