1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class Ticker : MonoBehaviour { public TickerItem tickerItemPrefab; [Range(1f, 10f)] public float itemDuration = 5.0f; public string[] fillerItems; float width; float pixelsPerSecond; TickerItem currentItem; // Start is called before the first frame update void Start() { width = GetComponent<RectTransform>().rect.width; pixelsPerSecond = width / itemDuration; AddTickerItem(fillerItems[0]); } // Update is called once per frame void Update() { if (currentItem.GetXPosition <= -currentItem.GetWidth) { AddTickerItem(fillerItems[Random.Range(0, fillerItems.Length)]); } } void AddTickerItem(string message) { currentItem = Instantiate(tickerItemPrefab, transform); currentItem.Initialize(width, pixelsPerSecond, message); } } |
Direct link: https://paste.plurk.com/show/xBvCUSStwHY3yNLndvZZ