笑虾 发表于 2014-10-7 20:31:19

Spine 事件Event_官方文档中文版

本帖最后由 笑虾 于 2014-10-7 20:52 编辑

欢迎入群Spine2D骨骼动画1群:7708065,2群:225097509大家好,我是笨笨,笨笨的笨,笨笨的笨,谢谢!
总述(Overview)事件(Events)用于在播放动画时触发某些事情。例如:角色的脚落地面时播放音效。Events 并不仅限于播放声音,它还可以用于在运行时调用任何你想要的代码。例如:产生粒子特效,打开一扇门,攻击一个敌人,通过代码控制骨骼,等等。
装配(Setup)
创建 event,在层级树目录中选择 `Events` 节点,然后点击 `New Event` 按钮。为 event 输入个有意义的名字并确认后,它就会出现在层级树目录中了。每个 event 拥有3个属性:整型(integer)、浮点型(float)、字符串(string)。
这些属性能为指定的 event 提供些额外的信息。可以在装配模式下为它们随意设置默认值。
事件关键帧(Keying events)
在动画中触发事件。
1. 确保你在动画模式下。2. 把时间线移动到你想要的位置。3. 按需求在层级目录中设置 event 的属性。4. 在层级目录中点击 event 边上的钥匙图标。
当动画播放或时间线向前划过时,事件将会触发。这时场景中的骨架上方会出现事件名称。响应事件(Responding to events)
至于如何设置事件的名称和属性值,完全取决于你想在事件触发时做什么。事件本身并不执行任何操作。您需要自已编写具体的事件响应代码。通常是将回调函数设置在 `AnimationState` 上:
AnimationState state = ...
state.addListener(new AnimationStateAdapter() {
    public void event (int trackIndex, Event event) {
      // Inspect and respond to the event here.
      if (event.name == "footstep")
            Audio.play("footstep" + event.intValue + ".wav");
    }
});
回调函数也可以设置在一个单独的 `TrackEntry` 上:TrackEntry entry = state.setAnimation(0, "run", true);
entry.setListener(new AnimationStateAdapter() {
    public void event (int trackIndex, Event event) {
      // Inspect and respond to the event here.
      if (event.name == "audio")
            Audio.play(event.stringValue);
    }
});



accidia 发表于 2022-4-2 11:40:41


谢谢楼主分享{:6_205:}

逆天的仓鼠 发表于 2015-12-23 11:06:13

新人求问:
event添加之后在spine里面只有添加事件的效果是吧
如具体要添加某一个音频文件则是在代码里加入是吗?
原以为在这里就可以添加音频了。

amwcel 发表于 2015-9-2 12:57:23

看看,,,,

xiaoxiaolong 发表于 2015-8-3 15:56:56

好吧,看看是干啥用的

mouserain 发表于 2015-5-13 14:38:07

太棒了,给程序看看

357174940 发表于 2015-5-13 07:53:51

感谢分享~!

treesun81 发表于 2015-3-31 12:44:27

很好很强大 很有用

q2t2f2 发表于 2015-2-28 00:02:58

谢谢楼主分享!

leekino 发表于 2015-2-12 11:19:53

赞一个..................
页: [1] 2
查看完整版本: Spine 事件Event_官方文档中文版