2014-01-13 3 views
0

Я искал какое-то время, как рисовать цветной прямоугольник в Unity3d, используя tk2d. Я хочу создать цветной слой без использования какого-либо спрайта, и в какой-то момент я замаскирую этот слой, чтобы поместить в него отверстие. Я хочу, чтобы система рисовала цветной прямоугольник для экономии ресурсов. Есть ли способ достичь этого?Unity3d: Цветной слой

Спасибо!

ответ

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 способ сделать это - создать один спрайт и изменить свойство масштаба в редакторе спрайтов - например, если его 1x1, установите масштаб до 4096x4096, а спрайт заполнит ваш экран Вам не нужно будет менять масштаб во время выполнения. Пиксели, которые обрезаются, на самом деле ничего не стоят, так что это может быть быстро чтобы сделать это ».

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

Смежные вопросы