怪物的攻击 掉落金币
2015-01-15 00:19
246 查看
欢迎来到U3D社区:
今天做了一天 做出来了怪物的攻击死亡动画和掉落金币 代码如下:
public static int life = 5; //怪物的生命值
public GameObject mouse; // 定义怪物
private NavMeshAgent agent; //定义组件
public Transform hero; //定义一个人物来杀死怪物
public GameObject gold; // 定义金币
void Start()
{
agent = GetComponent<NavMeshAgent>();//添加组件
}
void Update()
{
if (hero != null)
{
if (Vector3.Distance(transform.position, hero.position) < 2f) //当人物靠近怪物2M之内时
{
if (life > 0)
{
AnimationToWorking(); //做攻击动画
}
else if (life <= 0)
{
AnimationToDie();
// Destroy(this.gameObject, 1);
}
}
els
4000
e if (Vector3.Distance(transform.position, hero.position) > 4f) //当人物的距离在怪物4M之外时
{
AnimationToIdle(); //做停止动画
agent.SetDestination(transform.position);
}
else if (Vector3.Distance(transform.position, hero.position) < 4f) //当人物在怪物4M之内时
{
AnimationToWalk(); //怪物追击人物
agent.SetDestination(hero.position);
}
}
else
{
AnimationToIdle();
}
}
public void AnimationToWorking()
{
mouse.transform.animation.Play("Ratkin_1H_Heavy Smash"); //攻击动画
}
public void AnimationToWalk()
{
mouse.transform.animation.Play("Ratkin_1H_Casual_walk"); // 追击动画
}
public void AnimationToDie()
{
mouse.transform.animation.Play("Ratkin_1H_Dying_B"); //死亡动画
}
public void AnimationToIdle()
{
mouse.transform.animation.Play("Ratkin_IDLE"); //停止动画
}
void OnTriggerEnter(Collider other)
{
//被子弹打中耐力小于零死亡
if (other.CompareTag("Bullet"))
{
life--;
print(life); //当怪物碰到标签为 Bullet时 生命值减少
if (life <= 0)
{
Destroy(this.gameObject, 1);
Instantiate(gold, transform.position, Quaternion.identity);//死后产生金币
//经验增加
}
}
}
更多精彩在http://unity.gopedu.com/forum.php
今天做了一天 做出来了怪物的攻击死亡动画和掉落金币 代码如下:
public static int life = 5; //怪物的生命值
public GameObject mouse; // 定义怪物
private NavMeshAgent agent; //定义组件
public Transform hero; //定义一个人物来杀死怪物
public GameObject gold; // 定义金币
void Start()
{
agent = GetComponent<NavMeshAgent>();//添加组件
}
void Update()
{
if (hero != null)
{
if (Vector3.Distance(transform.position, hero.position) < 2f) //当人物靠近怪物2M之内时
{
if (life > 0)
{
AnimationToWorking(); //做攻击动画
}
else if (life <= 0)
{
AnimationToDie();
// Destroy(this.gameObject, 1);
}
}
els
4000
e if (Vector3.Distance(transform.position, hero.position) > 4f) //当人物的距离在怪物4M之外时
{
AnimationToIdle(); //做停止动画
agent.SetDestination(transform.position);
}
else if (Vector3.Distance(transform.position, hero.position) < 4f) //当人物在怪物4M之内时
{
AnimationToWalk(); //怪物追击人物
agent.SetDestination(hero.position);
}
}
else
{
AnimationToIdle();
}
}
public void AnimationToWorking()
{
mouse.transform.animation.Play("Ratkin_1H_Heavy Smash"); //攻击动画
}
public void AnimationToWalk()
{
mouse.transform.animation.Play("Ratkin_1H_Casual_walk"); // 追击动画
}
public void AnimationToDie()
{
mouse.transform.animation.Play("Ratkin_1H_Dying_B"); //死亡动画
}
public void AnimationToIdle()
{
mouse.transform.animation.Play("Ratkin_IDLE"); //停止动画
}
void OnTriggerEnter(Collider other)
{
//被子弹打中耐力小于零死亡
if (other.CompareTag("Bullet"))
{
life--;
print(life); //当怪物碰到标签为 Bullet时 生命值减少
if (life <= 0)
{
Destroy(this.gameObject, 1);
Instantiate(gold, transform.position, Quaternion.identity);//死后产生金币
//经验增加
}
}
}
更多精彩在http://unity.gopedu.com/forum.php
相关文章推荐
- 怪物的生成 攻击和掉落金币
- 怪物掉落金币随想
- 怪物掉落金币随想
- 《塔防类手游开发教程》 第九节 怪物加入血槽以及金币数值
- 可控的金币随机掉落算法
- unity手游<少侠历险记>(2)人物攻击动画判定和怪物AI
- 怪物攻击角色时,UI上箭头执行怪物的方向
- 实现敌人(怪物)的简单AI(自动巡逻、看到玩家攻击玩家、玩家离开恢复自动巡逻)
- 超级玛丽制作揭秘15金币提示,攻击提示
- 怪物仇恨范围,自动攻击,血条
- 00002 贪婪洞窟.003.6:怪物、宝箱和掉落
- 工业机器人网首页金币掉落特效分析及实现
- unity3d学习笔记(七)--利用单例脚本实现英雄与怪物的攻击与受击
- 圣剑传说 玛娜传奇(Legend of Mana)(LOM) 怪物掉落道具
- 《塔防类手游开发教程》 第九节 怪物加入血槽以及金币数值
- unity3d学习笔记(七)--利用单例脚本实现英雄与怪物的攻击与受击
- Html5金币掉落配有声音插件demo
- unity手游<少侠历险记>(2)人物攻击动画判定和怪物AI
- 怪物掉落物品
- Unity3D自带案例AngryBots分析(三)——怪物激活、攻击、动作逻辑控制分析,第一个怪物KamikazeBuzzer的攻击特效的实现原理