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 @秋意正寒 转载请在文头注明本文地址 本篇讲空间句法的几个核心概念,有一些也是重 ...
随机推荐
- CocoStudio基础教程(1)创建UI并载入到程序中
1.概述 CocoStudio的使用无疑是cocos2d-x 3.0的重要组成部分,接下来我们用它来创建一组UI,并将其读入到程序中显示出来.先上效果图: 2.导出 在导出之前,最好先创建一个新的工程 ...
- Java中的封装
在前面的一些日子里,一只都在学习C#语言,使用C#在做一些小项目的,今天转到了Java的学习,还是感觉有点的不习惯,没有以前的中文界面的,全是英文.写起代码来都一直保持着C#中的编码的习惯,但是学习J ...
- linux 客户端 Socket 非阻塞connect编程
开发测试环境:虚拟机CentOS,windows网络调试助手 非阻塞模式有3种用途 1.三次握手同时做其他的处理.connect要花一个往返时间完成,从几毫秒的局域网到几百 ...
- Xen虚拟机克隆实战
导读 在我们使用Xen虚拟化的时候,会经常创建虚拟机(VM),每次安装创建步骤比较繁琐,本文介绍通过virt-clone命令克隆xen虚拟机实战. 查看virt-clone命令是否存在 rpm -qa ...
- Linux tcp_wrappers 详解
tcp_wrappers是linux中一个安全机制[TCP_wrappers防火墙],一定程度上限制某种服务的访问权限,达到了保护系统的目的一. 要想用好tcp_wrappers,首先检查某种服务是否 ...
- HDOJ 1106
#include<iostream> #include<algorithm> #include<string.h> #include<stdlib.h> ...
- LVM XFS增加硬盘分区容量(resize2fs: Bad magic number in super-block while)
LVM XFS增加硬盘分区容量(resize2fs: Bad magic number -- :: 分类: Linux LVM XFS增加硬盘分区容量(resize2fs: Bad magic num ...
- 【分布式存储】GlusterFS failing to mount at boot with Ubuntu 14.04
GlusterFS failing to mount at boot with Ubuntu 14.04 Previously I asked about mounting GlusterFS a ...
- mysql sql维护常用命令
mysql修改表名,列名,列类型,添加表列,删除表列 alter table test rename test1; --修改表名 alter table test add column name v ...
- local variable 'xxx' referenced before assignment
这个问题很囧,在外面定义了一个变量 xxx ,然后在python的一个函数或类里面引用这个变量,并改变它的值,结果报错local variable 'xxx' referenced before as ...