unity实现文字滚动效果

 更新时间:2021年02月23日 16:48:57   作者:被代码折磨的狗子  
这篇文章主要为大家详细介绍了unity实现文字滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了unity实现文字滚动效果的具体代码,供大家参考,具体内容如下

效果:

代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
using System;

//移动类型
[Serializable]
public enum MoveType
{
 [EnumAttirbute("水平滚动")]
 horMove,
 [EnumAttirbute("垂直滚动")]
 verMove
}

//方向
[Serializable]
public enum Direction
{
 [EnumAttirbute("正方向")]
 JustDirection,
 [EnumAttirbute("反方向")]
 OppositeDirection
}

public class ScrollInformation : MonoBehaviour {
 [EnumAttirbute("类型")]
 public MoveType moveType; //类型
 [EnumAttirbute("方向")]
 public Direction direction; //方向

 public float Speed; //速度
 public float OverPos; //结束位置
 public float StartPos; //开始位置
 public RectTransform Information; //滚动信息

 void Start () {
 
 }

 void FixedUpdate()
 {
  ScrollResult();
 }

 //滚动效果
 Vector2 pos;
 void ScrollResult()
 {
  //判断方向
  if (moveType == MoveType.horMove)
  {
   Debug.Log("水平&正方向");
   pos = new Vector2(Speed * Time.fixedDeltaTime, 0);

   if (direction== Direction.JustDirection)
   {
    if (Information.anchoredPosition.x < OverPos)
    {
     Information.anchoredPosition = new Vector2(StartPos, Information.anchoredPosition.y);
    }
    else
    {
     Information.anchoredPosition += -pos;
    }
   }
   else
   {
    Debug.Log("水平&反方向");
    if (Information.anchoredPosition.x > StartPos)
    {
     Information.anchoredPosition = new Vector2(OverPos, Information.anchoredPosition.y);
    }
    else
    {
     Information.anchoredPosition += pos;
    }
   }
   
  }
  else
  {
   Debug.Log("垂直&正方向");
   pos = new Vector2(0,Speed * Time.fixedDeltaTime);

   if (direction == Direction.OppositeDirection)
   {
    if (Information.anchoredPosition.y < OverPos)
    {
     Information.anchoredPosition = new Vector2(Information.anchoredPosition.x, StartPos);
    }
    else
    {
     Information.anchoredPosition += -pos;
    }
   }
   else
   {
    if (Information.anchoredPosition.y > StartPos)
    {
     Information.anchoredPosition = new Vector2(Information.anchoredPosition.x, OverPos);
    }
    else
    {
     Information.anchoredPosition += pos;
    }
   }
  }
 }
}

枚举类型中文显示在上一篇

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#实现Winform序在系统托盘显示图标和开机自启动

    C#实现Winform序在系统托盘显示图标和开机自启动

    这篇文章主要为大家详细介绍了C#如何实现Winform序在系统托盘显示图标和开机自启动功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2025-01-01
  • 基于C# 中可以new一个接口?的问题分析

    基于C# 中可以new一个接口?的问题分析

    本篇文章是对C#中可以new一个接口?的问题进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#使用Pipelines实现处理Socket数据包

    C#使用Pipelines实现处理Socket数据包

    这篇文章主要为大家详细介绍了C#如何使用Pipelines实现处理Socket数据包,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • C# WinForms中实现MD5的加密

    C# WinForms中实现MD5的加密

    MD5(消息摘要算法第5版)是一种广泛使用的哈希函数,可以生成一个128位(16字节)的哈希值,通常用于数据完整性校验和密码存储,在Windows Forms应用程序中实现MD5加密,可以用于用户密码的安全存储和数据的完整性验证,本文将详细介绍了如何在WinForms中实现MD5加密
    2024-10-10
  • 详解WPF如何动态生成DataGrid的行和列

    详解WPF如何动态生成DataGrid的行和列

    在日常开发中,DataGrid作为二维表格,非常适合数据的展示和统计,本文以一些简单的小例子,简述在WPF开发中,如何动态生成DataGrid的行和列,需要的可以了解下
    2024-02-02
  • C#数组的常用操作方法小结

    C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏
    2016-05-05
  • 浅析C#异步中的Overlapped是如何寻址的

    浅析C#异步中的Overlapped是如何寻址的

    用ReadAsync做文件异步读取时,在Win32层面会传lpOverlapped到内核层,那在内核层回头时,它是如何通过这个lpOverlapped寻找到 ReadAsync这个异步的Task的呢,下面我们就来简单分析一下吧
    2025-01-01
  • c# 生成随机时间的小例子

    c# 生成随机时间的小例子

    这篇文章介绍了c# 生成随机时间的小例子,有需要的朋友可以参考一下
    2013-08-08
  • C#预处理器指令的用法实例分析

    C#预处理器指令的用法实例分析

    这篇文章主要介绍了C#预处理器指令的用法,以实例形式较为详细的分析了预处理器指令的原理与相应的用法,有助于深入理解C#程序的运行原理,需要的朋友可以参考下
    2014-11-11
  • C#中自定义高精度Timer定时器的实例教程

    C#中自定义高精度Timer定时器的实例教程

    这篇文章主要介绍了C#中自定义高精度Timer定时器的实例教程,多线程的Timer编写需要注意线程安全的问题,需要的朋友可以参考下
    2016-04-04

最新评论