unity3d的playmaker插件使用教程,六、血量显示及处理

这里展示了如何处理和显示血量,如何使用全局变量在多个状态机下传递信息,如何使用类似if的判断,如何进行数据类型转换。

准备工作,血量显示的文本框

加血的道具

模拟玩家的桶

首先,新建一个空的Game Object,命名为HealthManager,管理整个过程

添加Setup、UpdateGUI、AddHealth、Listener状态。

添加Add_Health事件。

添加全局变量

如果在添加全局变量的时候,无法添加并出现以下错误

是因为少了一个目录,在Assets\Plugins\PlayMaker目录下添加一个Resources目录即可。

添加3个全局变量

添加current_health_i存储血量,类型整型

添加current_health_s用于显示血量,类型字符串

添加health_manager用于传递,类型是GameObject

在Health_Cross下添加状态Rotate,添加Rotate动作让十字旋转

添加判断范围的Cube。

昨天看了下playmaker的网站,说,有统一的父的话可以方便的获取全部的子。好像是这个意思。先照着做吧。

在Cube上添加Setup状态和UpdateHealth状态,添加Health_Pick_Up事件。并在Setup状态下添加Trigger Event动作

在UpdateHealth状态下添加Get Parent动作和Destory Object动作,当玩家接触时,销毁自身。

这是,要把玩家触碰到信息发送给HealthManager,添加Send Event动作

这个时候,全局变量health_manager就起作用了,设置如下

这个时候,还需要将HealthManager下的Add_Health事件设置为全局事件,

然后把状态机名填入,并选中全局事件Add_Health。

全局变量health_manager还没赋值,在HealthManager的Setup状态下,添加Get Owner动作,

运行预览,当玩家碰触到加血道具的时候,HealthManager的状态正确触发。

在HealthManager的Setup状态下,添加动作:Set Int Value,设置血量为50,

在UpdateGUI状态下,添加Convert Int To String动作,转换数据类型,并添加Set GUI Text动作显示血量。

在AddHealth状态下添加动作Int Add,修改血量。

运行预览,开始状态

接触到加血道具,状态触发,血量显示正确

添加一个减血的平台,就当是火堆啊,怪物放的陷阱啥的就好。

添加Listener、DecreaseHealth状态,

添加decrease_health事件

在Listener状态下添加Trigger Event动作,处理进入

和加血一样,需要在HealthManager下添加Decrease_Health全局事件。

在Cube火堆这边添加Send Event动作,

运行预览

进入Cube时,状态触发正确。

这个时候,当玩家不断拾取加血道具的时候,血量会一直增加,血量小于0也可以继续。

现在来处理这个问题。

由于playmaker插件判断功能的限制,思路如下。

当加完血或减血以后,转到CheckHealth100状态

在这个状态下检测血量是否超过100,

如果超过100,在ResetHealth状态下把血量改回100

如果不超过100,转到CheckHealth0状态下,判断血量是否低于或等于100

当血量小于等于0时,游戏结束。

在CheckHealth100状态添加Int Compare动作,第一个值是血量,第二个值是100,

相等、小于,大于分别触发不同动作。

感觉这一段,写代码来得简单些呢。

血量超过100时,用Set Int Value动作将血量改回100

当血量小于等于0的时候,游戏结束

游戏结束就简单显示文字好了。

运行预览,当玩家血量到100的时候

再吃加血道具,血量不变

当玩家血量小于0,显示Game Over.

时间: 2024-08-05 22:44:39

unity3d的playmaker插件使用教程,六、血量显示及处理的相关文章

unity3d的playmaker插件使用教程,三、对象出入触发,声音播放

对象出入触发是游戏常见的情形.包含同一时候声音播放 首先建立进去区域.新建一个立方体,去掉mesh render. 而且选中 is trigger同意进入 样例里用了unity3d的第一人视角控制,可是,在unity5.3.4和playmaker1.7.8下.控制没反应.应该是个bug. 所以,我用了一个球体,自己写了键盘控制移动的脚本 在立方体上,加入状态机.加入Listerner.OnEnter.OnExit状态.加入Enter.Exit事件,并连接 在Listerner状态下加入两个Tri

UNITY3D编辑器插件编写教程

如何让编辑器运行你的代码如何让编辑器运行你的代码  Unity3D 可以通过事件触发来执行你的编辑器代码,但是我们需要一些编译器参数来告知编译器何时需要触发该段代码. [MenuItem(XXX)]声明在一个函数上方,告知编译器给Unity3D编辑器添加一个菜单项,并且当点击该菜单项的时候调用该函数.触发函数里 可以编写任何合法的代码,可以是一个资源批处理程序,也可以弹出一个编辑器窗口.代码里可以访问到当前选中的内容(通过Selection类),并据此来 确定显示视图.与此类似,[Context

Playmaker全面实践教程之简单的使用Playmaker示例

Playmaker全面实践教程之简单的使用Playmaker示例 简单的使用Playmaker示例 通过本章前面部分的学习,相信读者已经对Playmaker有了一个整体的认识和印象了.在本章的最后,我们将以一个使用了Playmaker插件的简单示例作为结尾.一方面可以让读者了解Playmaker的使用流程,另一方面还可以让读者体会一下不使用Playmaker插件并实现同样效果的编写脚本代码的方法. Playmaker示例效果说明 游戏的场景中只有两个可见的游戏对象,它们分别是Cube和Spher

PySide——Python图形化界面入门教程(六)

PySide——Python图形化界面入门教程(六) ——QListView和QStandardItemModel 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-qlistview-and-qstandarditemmodel/ 上一个教程中,我们讨论了Qt的QListWidget类,它用来实现简单的单列列表框(list boxes).然而,我们还需要更加灵活的widget来实现列表,Qt为此提供了QListView 来实现多种多样的项.它是一

Unity3D游戏开发从零单排(六) - 人物运动及攻击连击

提要 今天要实现的是一个简单人物控制器.包括用w,a,s,d来控制人物上下左右跑动,鼠标左击发出连招,都是基于老的lagacy的动画.虽然unity3d自带有charactorcontroller,但是并不是很好用,所以人物控制相关的全部自己来实现.先上效果图: 场景搭建 首先下载这个package,里面包含了人物的动作还有地面的模型.将人物和地面都拖进场景中.这里的模型默认的动画模式是lagacy,不用修改.模型有点偏小,改变模型的scale值为10.最好不要改源文件的scale的scale

HTML/CSS基础教程 六

表单 包含表单元素的区域, 表单元素是允许用户在表单中(文本框, 下拉列表, 单选框, 复选框等)输入信息的元素, 使用<form>标签定义. 文本域与密码域 <form> Username: <input type="text" name="firstname"> <br /> Password: <input type="password" name="lastname"

一些必看的jQuery导航插件和教程

导航是一个网站最重要的元素之一,您必须遵循统一的风格来设计您的网站,特别是导航的风格,让用户可以轻松地找到他们想要的内容.这里最大的部分是开发一个菜单,即要直观易用,又要符合你网站的设计风格.本文列举了20个必看的jQuery的导航插件和教程,演示通过jQuery实现一些导航效果,教您如何做一个有创造性和易于使用的导航. 美丽滑出导航 在本教程中,展示了如何创建一个惊人的滑出式菜单或导航.这给出了一个漂亮的效果,使用这种技术可以节省您在网站上一些空间. Search Box with Filte

Swift中文教程(六)--枚举和结构

原文:Swift中文教程(六)--枚举和结构 Enumerations 枚举 使用 enum 来创建一个枚举.跟Classes(类)和其他类型的命名方式一样,枚举也可以有Method(方法). 1 enum Rank: Int { 2 case Ace = 1 3 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten 4 case Jack, Queen, King 5 func simpleDescription() -> Stri

多说插件安装教程

html单页面添加多说社会化插件教程 | 浏览:509 | 更新:2014-10-04 16:55 | 标签:html 1 2 3 4 5 6 分步阅读 多说评论框是一款社会化评论插件,可以用新浪微博.腾讯QQ.人人.豆瓣多帐号登录,帮助网站进行社会化媒体优化.应用相当的广泛,可以给DZ,wordpress,帝国CMS等添加评论,下面我们就简单介绍下,html单页面添加多说插件的教程. 工具/原料 多说账号,自己的网站 方法/步骤 首先,我们登陆多说的后台,在“后台管理”里面,添加自己的网站