首页 > 其他 > 详细

PlayMaker — 核心概念

时间:2014-02-14 16:04:33      阅读:469      评论:0      收藏:0      [点我收藏+]

有限状态机(Finite State Machines)


       一个有限状态机(FSM)将行为组织成一些离散的状态。

开、关、开启、关闭、行走、空闲、攻击、防御...

Playmaker 使用事件驱动的有限状态机来控制Unity:

    bubuko.com,布布扣

   1.开始事件(Start Event)

           当有限状态机(FSM)启动时会发送一个开始事件(Start Event)。

           这个start事件(event)会激活第一个状态(state),也就是Start State。

   2.状态(State)

          同一刻仅能有一个状态是激活的。

          激活的状态会执行动作(Action) 并接收事件(Event)。

   3.过渡事件(Transition Event)

          事件触发过渡(transition)转到另一个状态。

          事件可以由Unity发出(碰撞、触发器、鼠标输入、动画事件...)

          或者由动作(Action)发出(距离检测、定时设置、游戏逻辑...)

   4.过渡(Transition)

?         激活的状态"退出"并且新的状态"进入"。

         图形视图(Graph View)可以很方便地建立和调试这些过渡(transition)。

   5.全局过渡(Global Transition)

         全局过渡可以在任何时候被触发,无论当前是哪个激活状态。

         在上面的例子中,角色在任何时候都可以被撞倒,所以我们使用了一个全局过渡。

         全局过渡可以减少需要显式定义的过渡(transition)的数量来简化有限状态机(FSM)。


动作(Actions)


   bubuko.com,布布扣

当前激活的状态会执行动作(Actions)。动作有一些参数可以在动作编辑器(Action Editor)来编辑,就好像在Unity监视窗里编辑脚本参数一样。


变量(Variables)

变量(Variables)是一个值的命名容器。动作编辑器(Action Editor)允许你将动作参数(Action parameters)与变量(Variables)挂钩从而代替常量。例如,"numberOfLives" 来代替 3, "health"来代替100。
    bubuko.com,布布扣

如果一个值需要随着时间改变,你应该使用一个变量,而不是硬编码的值。


事件(Events)


所有的状态之间的过渡都是由事件(Events)触发的。


译文源自:https://hutonggames.fogbugz.com/default.asp?W133


PlayMaker — 核心概念

原文:http://blog.csdn.net/wlj613613/article/details/19162825

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!