博客
关于我
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/

    你可能感兴趣的文章
    MySQL数据库与Informix:能否创建同名表?
    查看>>
    mysql自增id超大问题查询
    查看>>
    MySQL锁与脏读、不可重复读、幻读详解
    查看>>
    MySQL集群解决方案(4):负载均衡
    查看>>
    mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
    查看>>
    MySQL高级-MySQL并发参数调整
    查看>>
    MySQL高级-视图
    查看>>
    MySQL:判断逗号分隔的字符串中是否包含某个字符串
    查看>>
    Nacos在双击startup.cmd启动时提示:Unable to start embedded Tomcat
    查看>>
    Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Nacos配置中心集群原理及源码分析
    查看>>
    nacos配置自动刷新源码解析
    查看>>
    Nacos集群搭建
    查看>>
    nacos集群搭建
    查看>>
    Navicat for MySQL 查看BLOB字段内容
    查看>>
    Neo4j电影关系图Cypher
    查看>>
    Neo4j的安装与使用
    查看>>
    Neo4j(2):环境搭建
    查看>>
    Neo私链
    查看>>
    nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
    查看>>