博客
关于我
Unity TimeLine的Playable脚本编写
阅读量:83 次
发布时间:2019-02-25

本文共 2117 字,大约阅读时间需要 7 分钟。

TimeLine PlayAble脚本编写指南

1. 新建 Playable Behavior 和 Playable Asset

在开始编写 Playable脚本之前,首先需要新建两个关键组件:Playable BehaviorPlayable Asset。这两个组件是 Playable 生命周期的基础,必须一并创建,才能实现完整的脚本功能。

  • Playable Asset 可以是任何类型的资源,例如 Text、Cube、Animation 等。它是脚本操作的目标对象,决定了脚本的具体作用范围。
  • Playable Behavior 定义了 Playable 的生命周期,包括开始、持续和结束状态。它决定了脚本在不同时间点的行为表现。

通过 UI,新建这些组件并将它们挂接到目标对象上,确保它们处于正确的位置和层级。

2. Playable Behavior 生命周期说明

Playable Behavior 的生命周期分为三个关键阶段:

  • 初始化(OnStart):当脚本被激活时,执行初始化操作。通常用于准备必要的数据或资源。
  • 持续(Update):在每帧或每段时间调用一次,用于更新当前状态或执行重复性操作。
  • 终止(OnStop):当脚本被移除或结束时,执行清理操作,释放资源或撤销变化。
  • 理解这些阶段对于编写高效脚本至关重要。例如,在UI.Text赋值操作中,初始化阶段可以加载目标 Text 组件,持续阶段则根据时间更新其文本内容。

    3. 脚本编辑

    在 Unity 中,脚本编写采用 C# 语言。以下是一些常见操作示例:

    示例 1:赋值 UI.Text
  • 创建一个新的 C# Script 组件,挂接到 Text 组件上。
  • 在脚本中定义一个 Update 方法,使用 Time.deltaTime 计算时间。
  • 根据时间比例,动态改变 Text 组件的 text 字段内容。
  • public class AssignText : MonoBehaviour {    public Text targetText;    private float startTime;    public void Start() {        startTime = Time.time;    }    public void Update() {        if (targetText) {            float elapsed = Time.time - startTime;            targetText.text = "Elapsed: " + elapsed.ToString("F2");        }    }}
    示例 2:改变 Cube 刚体颜色
  • 创建一个新的 Playable Behavior脚本,挂接到 Cube 上。
  • 在脚本中定义一个 Update 方法,随着时间变化改变 Cube 的颜色。
  • 确保在 OnStop 方法中释放资源或将颜色恢复到初始状态。
  • public class ChangeCubeColor : PlayableBehavior {    private Renderer renderer;    private Color originalColor;    public override void OnStart() {        renderer = GetComponent
    (); if (renderer) { originalColor = renderer.material.color; } } public override void Update() { if (renderer) { renderer.material.color = new Color( originalColor.r + Time.deltaTime * 0.1f, originalColor.g + Time.deltaTime * 0.1f, originalColor.b + Time.deltaTime * 0.1f ); } } public override void OnStop() { if (renderer) { renderer.material.color = originalColor; } }}

    注意事项

    • 脚本名称:确保脚本名称清晰,方便以后维护和查找。
    • 层级管理:合理管理脚本的层级,避免冲突或覆盖。
    • 性能优化:在 Update 方法中尽量减少资源消耗,避免长时间运行导致性能问题。

    通过以上步骤,可以轻松编写并优化 TimeLine 的 PlayAble 脚本,实现各种复杂场景的逻辑控制。

    转载地址:http://zjp.baihongyu.com/

    你可能感兴趣的文章
    NetworkX系列教程(11)-graph和其他数据格式转换
    查看>>
    Networkx读取军械调查-ITN综合传输网络?/读取GML文件
    查看>>
    network小学习
    查看>>
    Netwox网络工具使用详解
    查看>>
    Net与Flex入门
    查看>>
    net包之IPConn
    查看>>
    Net操作配置文件(Web.config|App.config)通用类
    查看>>
    Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(7)
    查看>>
    New Relic——手机应用app开发达人的福利立即就到啦!
    查看>>
    NFinal学习笔记 02—NFinalBuild
    查看>>
    NFS
    查看>>
    NFS Server及Client配置与挂载详解
    查看>>
    NFS共享文件系统搭建
    查看>>
    nfs复习
    查看>>
    NFS安装配置
    查看>>
    NFS的安装以及windows/linux挂载linux网络文件系统NFS
    查看>>
    NFS的常用挂载参数
    查看>>
    NFS网络文件系统
    查看>>
    nft文件传输_利用remoting实现文件传输-.NET教程,远程及网络应用
    查看>>
    NFV商用可行新华三vBRAS方案实践验证
    查看>>