[Unity3D]字体垂直⾃动滚动&⿏标拖拽滑动字体滚动添加UI及组件:
Hierarchy⾯板下右键UI添加
Canvas(⼀级层)
Panel(⼆级层)
Panel下添加组件Scroll Rect
属性:
Content: 选择Text⽂本
Horizontal: 左右滚动 ⾃由选择
Vertical: 上下滚动 ⾃由选择
Movement Type:滚动类型(⾃由选择)
Unrestricted: ⽆限制的滚动,⽆回滚 Elastic: 有限制的滚动,有回滚 Clamped: 有限制的回滚,⽆回滚 Scroll Sensitivity:滚动的灵敏度 ⾃由设置
Panel下添加UI→Text⽂本(三级层)
属性:Text 在这⽂本框内输⼊要滚动的内容
添加组件
Content Size Fitter
属性:
PreferredSize: 勾选
Panel下添加组件Mask遮罩(三级层)
属性:Show Mask Graphic 取消勾选
勾选 显⽰遮罩图层
不勾选 不显⽰
显不显⽰可⾃选
代码:
1using System.Collections;
2using System.Collections.Generic;
3using System.Threading.Tasks;
4using UnityEngine;
5using UnityEngine.UI;
6
7public class TextMoveForUp : MonoBehaviour {
8
9/* 当前时间,⽤来在Update中固定时间移动字体的,不然移动速度⽆法控制 */
10private float CurrentTime;
11
12/* 判断当前字体是否移动 */
13private bool IsMove = false;
14
15/* 字体移动速度 */
16public float FontMoveSpeed = 5;
17
18private void Awake() {float up
19/* 为了让故事背景字体从下往上播放,不然是从中间开始播放的 */
21 }
22
23
24void Update() {
25/* 调⽤字体移动⽅法 */
26 FontMoveUp();
27
28 }
29
30private void FontMoveUp() {
31
32 CurrentTime += Time.deltaTime;
33/* 限制每0.2秒移动⼀次 */
34if (CurrentTime >= 0.2f) {
35float y = ansform.localPosition.y;
37 IsMove = true;
38/* 循环播放,让字体从显⽰框上⽅消失后,在显⽰框下⽅再出现,如此循环*/ 39if (y >= 2400) {
41 }
42 }
43
44if (IsMove == true) {
45 CurrentTime = 0;
46 IsMove = false;
47 }
48
49 }
50 }
附GIF效果图
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论