需求
在日常游戏中,文字滚动效果是比较常用的。例如日常游戏顶部的新闻公告,聊天系统的文字滚动,都属于这个范围。
思路
由于使用的地方比较广泛,所以希望能够尽量独立的游戏之外,能够做到随处使用的功能。文字显示属于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
总结
时间: 2024-10-03 19:24:46