码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-04-01 18:30:59      阅读:386      评论:0      收藏:0      [点我收藏+]

标签:

这里展示了如何处理和显示血量,如何使用全局变量在多个状态机下传递信息,如何使用类似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.

技术分享

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

标签:

原文地址:http://blog.csdn.net/wuyt2008/article/details/51036554

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!