独立游戏开发(九)-- 盾道具的生成及触发实现

之前已经3中病毒的各自运动轨迹,接下来我们就来看看道具的实现。
首先这边简单的先罗列了一下:
在这里插入图片描述
那我们就可以先配表了
item表
那我们先看看盾的效果:盾的施法对象肯定是自己,然后作用就是把病毒挡在外面;
接下来就是盾的实现部分;
首先我们还是要先创建道具,先看效果:
在这里插入图片描述
这里创建方法同之前病毒的创建方法一样(没有美术,先简单的代替效果)。
在这里插入图片描述
接下来就来实现道具的效果,首先道具应该都有一个生命周期,顺便验证一下之前的对象池。
从之前的配置看到我配的生命周期是5,也就是说5秒后会因隐藏,然后创建新的盾时,还会显示,我们用测试代码演示一下。

for (int i = (int)ItemDefine.ItemType.Shield; i <= (int)ItemDefine.ItemType.Track; i++)
{
    //test  i == 1
    var itemData = GetItemByType(1);
    if (itemData != null)
    {
         var pos = GetRandomPosInBoard(itemData.Radius);
         var itemObj = CreateItem(itemData, pos);
    }
}

在这里插入图片描述
从hierarchy视图可以看到一开始生成了4个盾,然后隐藏,又生成了5个盾,从而也验证了我们之前的对象池。
player和道具触碰的时候会产生特效的同时也会消失,这时我们就得加个判断条件,是否接触了主角:

/// <summary>
///  是否出票主角
///  不同于到达目标点,触碰有半径范围
/// </summary>
/// <returns></returns>
protected bool IsTouchPlayer()
{
    float length = _itemData.Radius + _playerRadius;
    Vector3 playerPos = _PlayerTrans.position;
    return Mathf.Abs(_transform.position.x - playerPos.x) < length &&
           Mathf.Abs(_transform.position.y - playerPos.y) < length;
}

当条件达到时,我们就可以处理对应的效果了。
在这里插入图片描述
今天就到这了,明天还得加个表把触发后的效果以及对病毒的影响都给串联起来。

传送门:独立游戏开发–索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值