Playmaker Input篇教程之引入的核心概念
Playmaker Input篇教程之引入的核心概念
Playmaker Input引入的核心概念
Playmaker引入了4个核心概念:状态机、动作、变量和事件。了解它们是学习操作Playmaker的前提,本节会分别介绍它们。
Playmaker Input状态机
状态机,即Finite State Machine,读者在本章前面的部分已经见过了,它主要负责组织各个离散的“状态”。状态机里包含5个元素:起始事件(Start Event)、状态(State)、过渡事件(Transition Event)、过渡(Transition)和全局过渡(Global Transition)。如图1-21所示,就是一个很常见的状态机。

图1-21 状态机,及其5个组成元素(1.起始事件,2.状态,3.过渡事件,4.过渡,5.全局过渡)
提示:在描述状态机里的内容时,本书通常会使用到这些专业术语(即5个组成元素)。例如,对于本小节给出的状态机的描述为:“起始事件”START会激活On“状态”,后者有一个Close“过渡事件”,当名为Close的事件被触发以后,“状态”会从On“过渡”到Off,当“全局过渡”MoveTo被触发以后,则会激活State1“状态”。
Playmaker Input动作
动作(Action)用来表示一个具体的行为。它只能被赋予状态机中的“状态”,而“状态”负责执行动作。对于熟悉Unity的读者而言,它类似于Unity中的“组件”,而“动作”也拥有自己的属性。如图1-22所示,名为Set Material Color的“动作”被赋予Off状态,而Set Material Color动作下有自己的属性。

图1-22 动作,及其属性
Playmaker Input变量
变量(Variables)可以被看作是一个有名字的数据容器。它和Unity脚本中的“变量”类似,只不过脚本中的变量是用来存储脚本中生成的数据,而Playmaker中的变量是用来存储状态机中生成的数据。
Playmaker Input事件
事件(Events)是状态机中触发状态过渡的原因。
注意:本节并没有对核心概念做更加深入的分析,因为单纯分析理论会异常的无聊,为了让本书更加实用,我们会在示例中具体情况具体分析。
本文选自:Playmaker全面实践教程Input篇大学霸资料,转载请注明出处,尊重技术尊重IT人!
Playmaker Input篇教程之引入的核心概念的更多相关文章
- Playmaker Input篇教程之PlayMaker菜单概述
Playmaker Input篇教程之PlayMaker菜单概述 Playmaker InputPlayMaker菜单概述 Playmaker插件被导入游戏项目以后,会自动为Unity编辑器添加一个名 ...
- Playmaker Input篇教程之Playmaker购买下载和导入
Playmaker Input篇教程之Playmaker购买下载和导入 Playmaker Input篇认识Playmaker Playmaker是Unity的插件,其标志如图1-1所示.开发者使用它 ...
- Elasticsearch入门教程(二):Elasticsearch核心概念
原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...
- C#串口通讯教程 简化一切 只保留核心功能 这可能是最易于理解的一篇教程
C#串口通讯教程 简化一切 只保留核心功能 这可能是最易于理解的一篇教程 串口的定义,请自行了解. C#操作串口通讯在.Net强大类库的支持下,只需要三个步骤: 1 创建 2 打开 3 发送/接受 ...
- Playmaker全面实践教程之简单的使用Playmaker示例
Playmaker全面实践教程之简单的使用Playmaker示例 简单的使用Playmaker示例 通过本章前面部分的学习,相信读者已经对Playmaker有了一个整体的认识和印象了.在本章的最后,我 ...
- react 教程—核心概念
react 核心概念 : https://react.docschina.org/docs/getting-started.html(官网) 或 https://www.w3cschool.cn/ ...
- Javascript本质第一篇:核心概念
很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽然方便了Javascript的入门,但要深入理 ...
- C++第一篇--类的引入
C++第一篇--类的引入 1. 用C语言输出两个人的信息 Person1.c:通过字符实现 #include <stdio.h> int main(int argc,int **argv) ...
- SpaceSyntax【空间句法】之DepthMapX学习:第二篇 输出了什么东西 与 核心概念
这节比较枯燥,都是原理,不过也有干货.这篇能不能听懂,就决定是否入门...所以,加油吧 博客园/B站/知乎/CSDN @秋意正寒 转载请在文头注明本文地址 本篇讲空间句法的几个核心概念,有一些也是重 ...
随机推荐
- cocos2dx新研发的游戏,手机运行时非常热的解决方案
cocos2dx新研发的游戏,手机运行时非常热,有需要的朋友可以参考下. cocos2dx新研发的游戏,手机上运行时导致手机非常热,后来听其他项目组分享时得知,可以通过降帧解决这个问题,原来是coco ...
- java笔记--使用事件分配线程更新Swing控件
使用事件分配线程更新Swing控件: Swing并不是线程安全的,如果在多个线程中更新Swing控件,则很可能造成程序崩溃. 为了避免这种问题,可以使用时间分配线程来更新Swing控件. EventQ ...
- 输入的全角字符转换成半角字符--css、js、ASP.NET
我们经常需要用户在表单中输入数字,用户不小心使用了全角状态输入数字,但是在程序中全角的数字是不能直接转换为数字的.这种全角数字的错误处理起来就有些麻烦了.对一些没有经验用户来说明明已经输入数字了,怎么 ...
- [Effective JavaScript 笔记]第18条:理解函数调用、方法调用及构造函数调用之间的不同
面向对象编程中,函数.方法.类的构造函数是三种不同的概念. JS中,它们只是单个构造对象的三种不同的使用模式. 三种不同的使用模式 函数调用 function hello(username){ ret ...
- [Effective JavaScript 笔记]第36条:只将实例状态存储在实例对象中
理解原型对象与其实例之间是一对多的关系,对于实现正确的对象行为很重要.常见的错误是不小心将每个实例的数据存储到了其原型中. 示例 一个实现了树型数据结构的类可能将子节点存储在数组中. 实例状态在原型中 ...
- java笔试三
请问如何不使用第三个变量交换两个变量值? 例如 int a=5,b=10: 如何不使用第三个变量交换a,b的值? public class T { public static ...
- HDU 1713 最小公倍数与最大公约数的问题 相遇周期
欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) 相遇周期 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/ ...
- top对僵尸进程的处理
ps --forest ASCII art process tree 2 怎样来清除僵尸进程: 1.改写父进程,在子进程死后要为它收尸.具体做法是接管SIGCHLD信 ...
- Segment Tree Build I & II
Segment Tree Build I The structure of Segment Tree is a binary tree which each node has two attribut ...
- css定位左移动多少距离
.main .logo { padding-left:82px; } 说明: .main .logo这个标签的路径离边框的距离是82Px