Unity3D 文字滚动跑马灯效果

需求

在日常游戏中,文字滚动效果是比较常用的。例如日常游戏顶部的新闻公告,聊天系统的文字滚动,都属于这个范围。

 

思路

由于使用的地方比较广泛,所以希望能够尽量独立的游戏之外,能够做到随处使用的功能。文字显示属于UI范畴,直接使用unity3d中的GUI功能是比较合适的。

实现

一、新闻公告类

新闻公告类的文字滚动一般都是由左向右,或者由下至上滚动的,并且多是单行单列的模式。

 

技术分享
public class Lamp : MonoBehaviour {

    public float scrollviewWidth;
    public float scrollviewHeight;
    public float moveSpeed;
    public GUISkin guiSkin;

    private float textPositionX = 10f;

    void OnGUI()
    {
        GUI.skin = guiSkin;
        float scrollviewPositionX = (Screen.width - scrollviewWidth)/2;//居中

        //开始滚
        GUI.BeginScrollView(new Rect(scrollviewPositionX, 10, scrollviewWidth, scrollviewHeight), Vector2.zero, new Rect(10, 10, scrollviewWidth, scrollviewHeight));    
        GUI.Label(new Rect(textPositionX,10,770,40),"翻滚吧!大爷!!");
        textPositionX += Time.deltaTime*moveSpeed;
        //结束滚
        GUI.EndScrollView();
    }  
}
Lamp

 

总结

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。