unity3D 2D游戏碰撞道具增加气血效果&受伤掉血效果

摘要:
该代码效率不高,仅用于实现结果在受到攻击时调用(需要传入HP预制的父对象)1//受伤时,失去2公共空间OnHurt(TransformHP)3{4打印(“触摸怪物。。。“);5//遍历父对象6(int i=HP.childCount-1;i˃=0;i˃=0;i-)7{8//创建临时变量T,假设最后一个元素9 int=HP.childCount-1;10//当比较一致时,表

代码并不高效,仅以实现效果为目的.

被攻击时调用(需要传入HP预制件父级对象)

 1  //受到伤害时,掉血
 2     public void OnHurt(Transform HP)
 3     {
 4         print("触碰到了怪物...");
 5         //遍历父级对象
 6         for (int i = HP.childCount - 1; i >= 0; i--)
 7         {
 8             //创建临时变量T,假设是最后一个元素
 9             int t = HP.childCount - 1;
10             //比对一致时,表示找到了一样的子级
11             if (i == t)
12             {
13                 //说明还有血
14                 if (i > 0)
15                 {
16                     print(i);
17                     print("还有血...");
18                     //删除最后一个对象(小红心)
19                     Destroy(HP.GetChild(t).gameObject);
20                 }
21                 else
22                 {
23                     print("没血了");
24                     //没血了,重新加载当前场景
25                     ReStart();
26                 }
27             }
28         }
29     }

触碰加血道具对象时调用(需要传入HP预制件父级对象)

 1 //触碰加血道具时,加血
 2     public void AddHp(Transform hp)
 3     {
 4         if (hp.childCount == 10)//满血限制
 5         {
 6             print("满血了");
 7             return;
 8         }
 9 
10         //临时变量,存储HP父级最后一个子级的坐标x
11         for (int i = hp.childCount - 1; i > 0; i--)
12         {
13             //创建临时变量,用于存储最后一个元素;
14             var t = hp.childCount - 1;
15             //相等时,表示找到最后一个元素
16             if (i == t)
17             {
18                 //获取最后一个元素的x,Y坐标
19                 var posX = hp.GetChild(i).gameObject.transform.position.x;
20                 var posY = hp.GetChild(i).gameObject.transform.position.y;
21                 //Instantiate(要生成的对象预制件,坐标,旋转,父级)x轴偏移值,可以自行更改
22                 Instantiate(hp_yzj, new Vector3(posX += 39f, posY, 1), Quaternion.identity, hp);
23             }
24         } 
25     }

效果

unity3D 2D游戏碰撞道具增加气血效果&受伤掉血效果第1张

免责声明:文章转载自《unity3D 2D游戏碰撞道具增加气血效果&受伤掉血效果》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇index+small+row+if经典函数组合应用WPF DataGrid添加右键菜单下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Unity插件之DOTween教程

推荐阅读:  我的CSDN  我的博客园  QQ群:704621321  我的个人博客 前言 以前做动画就是:这个动画XXX模块里用到过,复制-粘贴;这个动画好像没实现过,百度-复制-粘贴。今天,我终于下定决心自己学一下DOTween动画。DOTween动画作为众多插件中的一员,成为大部分开发者使用的动画插件是有一定道理的。 安装插件 简单介绍一下...

《unity项目》打包安卓APK时Build Setting中的三种Build System

Internal(Default):Unity内置,仅需Android SDK支持。不能导出工程,适用于仅适用Unity开发的工程 apk。 Gradle(New):使用Gradle进行构建,需要Android SDK与Gradle支持,可以导出Android Studio工程 apk ; 选这个才能勾选下面的Export Project,适用于Uni...

unity 协程与async、await

协程(Coroutine) 协程就像一个函数,能够暂停执行并将控制权返还给 Unity,然后在指定的时间继续执行。协程本质上是一个用返回类型 IEnumerator 声明的函数,并在主体中的某个位置包含 yield return 语句。yield return 是暂停执行并随后在下一个时间点恢复。注意:Fade 函数中的循环计数器能够在协程的生命周期内保持...

基于Unity的AR开发初探:发布AR应用到Android平台

本文接上一篇,介绍一下如何通过Unity发布第一个AR应用至Android平台,在Android手机上使用我们的第一个AR应用。 一、一些准备工作 1.1 准备Java JDK 这里选择的是JDK 1.8.x版本,可以从这里下载。 1.2 准备Android SDK 这里选择的是R24.1.x-Windows版本,可以从这里下载。 Note:为了减少配置的...

Unity UGUI-Raw Image 组件(生图/未加工图片)

许久没有添加U3D随笔了,今补一条关于U3D亲儿子的东东 Unity UGUI-Raw Image 组件   Raw Image 组件是一个显示纹理贴图的组件   搭配 RenderTexture 将会有奇效   Raw Image 与 Image 的区别:   Image 显示的是 Sprite 精灵图片   Raw Image 可显示任何纹理贴图 (...

Unity3D实践系列01,创建项目

下载并安装Unity5软件客户端。 打开软件,注册Unity帐号,并用注册帐号登录。 点击"创建Project"按钮。 把项目命名为"My First Unity Project"。 点击左下方的"Assert packages"按钮,点击"select all"文字,点击"Done"按钮,点击"Create project"按钮。 创建完毕,多了一个与项...