c#4
float translation = Time.deltaTime * 10;
transform.Translate(0, 0, translation);//沿z轴移动
public class AutoDestoryComponent : MonoBehaviour
{
#region ICanCache
public ParticleSystem[] m_pss = null;
public int m_life = 1; //3条命
public float m_AutoDeadTime = 3;//3s自动销毁
private int m_life_Base = 3; //3条命【恢复用】
private float m_AutoDeadTime_Base = 3;//3s自动销毁【恢复用】【-1:表示不自动销毁,如Enemy】
void Update()
{
//需要自动销毁
if (m_AutoDeadTime_Base >= 0)
{
m_AutoDeadTime -= Time.deltaTime;//每一帧减去一个Time.deltaTime
if (m_AutoDeadTime <= 0)
{
InnerDead(); // 物体销毁
return;
}
}
if (m_life <= 0)
{
InnerDead(); //玩家死亡
}
}
/// <summary>
/// 设置自动销毁数据
/// </summary>
/// <param name="life_base">默认生命值</param>
/// <param name="autoDeadTime_base">-1不自动销毁;其他数据代表销毁时间(单位s)</param>
public void SetBasePara(int life_base = 1, float autoDeadTime_base = -1)
{
m_AutoDeadTime = m_AutoDeadTime_Base = autoDeadTime_base; //用来恢复时间
m_life = m_life_Base = life_base; //用来恢复初始生命
}
//是否启用
public bool IsUse { get; set; }
//死后位置
public Vector3 DeathPosition
{
get
{
return new Vector3(2000, 2000, 2000); //返回新位置Vector3(x,y,z)
}
}
//复活
public void Init(Vector3 position, Quaternion rotation)
{
transform.gameObject.SetActive(true);
transform.position = position;
transform.rotation = rotation;
IsUse = true;
foreach (ParticleSystem item in m_pss)
{
item.Play(true);
}
//有些绕
m_life = m_life_Base;
m_AutoDeadTime = m_AutoDeadTime_Base;
}
private void InnerDead()
{
IsUse = false;
transform.position = DeathPosition;
foreach (ParticleSystem item in m_pss)
{
item.Stop(true);
}
this.gameObject.SetActive(false);
}
#endregion
}
随机推荐
- 【BZOJ1004】【HNOI20008】cards
看黄学长的代码才写出来的,sro_hzwer_orz 原题: 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给 ...
- kuangbin_ShortPath L (POJ 2502)
dij部分还是跟模板差不多的 但是这题的难点是处理输入 或者说理解题意 事实上每个点之间都是可以走的......WA了好几发就因为没意识到同一条路线上的各个站点之间居然也可以走得比车子快.... PS ...
- 异构平台同步(Mysql到Oracle)
Oracle GoldenGate学习之--异构平台同步(MySQL到Oracle) 如图所示:源端采用Mysql库,目标端采用Oracle库 一.OGG安装配置(源端) 1.OGG下载 https: ...
- display模版详细介绍
ASP.NET MVC 2 Templates, Part 4: Custom Object Templates Series Index Part 1: Introduction Part 2: M ...
- 用c#读取文件内容中文是乱码的解决方法:
用c#读取文件内容中文是乱码的解决方法: //方法1: StreamReader din = new StreamReader(@"C:\1.txt", System.Text.E ...
- WAMP Server助你在Windows上快速搭建PHP集成环境
WAMP Server助你在Windows上快速搭建PHP集成环境 原文地址 我想只要爬过几天网的同学都会知道PHP吧,异次元的新版本就是基于PHP的WordPress程序制造出来的,还有国内绝大部分 ...
- git在本地创建远程仓库
类似的博文,在前面的帖子里面也提到过,当时讲述的是一个入门级别的.其URL是ssh://username@repo-host-address/repo-path这种格式. 今天再说说如何创建类似Git ...
- mongodb不同版本之间有很大的差异
今天主要说下我为了给mongodb数据库添加authorization,大家应该知道,mongo默认是无auth运行的.这可能是方便小伙伴学习命令吧. 由于之前发布的一个项目,在亚马逊的云上,处于内部 ...
- 获取在线人数 CNZZ 和 51.la
string Cookies = string.Empty; /// <summary> /// 获取在线人数 (51.la统计器) /// </summary> /// &l ...
- Microsoft SQL Server Management Studio 导出触发器脚本