如何用unity3d在2d游戏中绘制单色背景
本文关键字:绘制 单色 背景 游戏 2d 何用 unity3d | 更新日期: 2023-09-27 18:28:08
我正在用Unity3D创建一个2D游戏,但我对它还很陌生。我试着画一个单色背景,在它前面有一些精灵
我发现了这个代码:
using UnityEngine;
using System.Collections;
public class GUIRect : MonoBehaviour {
public Color color;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
private static Texture2D _staticRectTexture;
private static GUIStyle _staticRectStyle;
// Note that this function is only meant to be called from OnGUI() functions.
public static void GUIDrawRect( Rect position, Color color )
{
if( _staticRectTexture == null )
{
_staticRectTexture = new Texture2D( 1, 1 );
}
if( _staticRectStyle == null )
{
_staticRectStyle = new GUIStyle();
}
_staticRectTexture.SetPixel( 0, 0, color );
_staticRectTexture.Apply();
_staticRectStyle.normal.background = _staticRectTexture;
GUI.Box( position, GUIContent.none, _staticRectStyle );
}
void OnGUI() {
GUIDrawRect(Rect.MinMaxRect(0, 0, Screen.width, Screen.height), color);
}
}
我把它附加到一个空的游戏对象上,它运行得很好,但我无法决定它和场景中其他精灵之间的z顺序。
这是正确的方法吗?如果是,我应该如何更改它的绘制顺序?
您使用的是unity Pro吗?如果是,则可以使用后处理着色器。http://docs.unity3d.com/Manual/script-GrayscaleEffect.html
如果你想有一个2d背景,只需在启动Unity时使用2d设置。然后你的背景可以是纹理精灵层叠在一起。除了实际的GUI项目之外,没有理由在GUI上绘制。http://answers.unity3d.com/questions/637876/how-to-make-background-for-2d-game.html