频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
unity3d的playmaker插件使用教程,六、血量显示及处理解析
2016-04-02 09:47:48         来源:wuyt2008的专栏  
收藏   我要投稿

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

\

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 插件 教程
上一篇:View_01_LayoutInflater的原理、用法浅析
下一篇:设计模式浅析
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站