我的游戏开发笔记(二):加状态以及检东西

本文介绍了在Unity3D中如何实现游戏中的状态buff,如冰冻效果,以及物品拾取功能。每个buff被封装为独立的类,当条件满足时添加,时间到则销毁。通过示例展示了冰冻buff的实现过程。同时,文章还讲解了物品拾取的逻辑,玩家只需碰到物品即可拾取,并通过调整代码实现物品持握效果,注意还需设置标志避免重复拾取。
摘要由CSDN通过智能技术生成

上次已经实现了人物的基本操作与相应动作,接下来,对于人物来说肯定要有各种各样的buff,比如加速、力量提升、减速、眩晕。

我把每一个buff都封装成一个类,这样当人物达成获得buff的条件时直接添加这个类就行了。

首先,新建一个类,上面说明冰冻的效果以及冰冻的时间或者更多想要的效果,当buff的持续时间到了就把这个类给移除掉就行了,用Destroy(this)移除buff。

//Freeze.cs
using UnityEngine;
using System.Collections;

public class Freeze : MonoBehaviour {

    public float freezeTime;
    float startTime;
    public GameObject freezeParticle;
    Object go;
    // Use this for initialization
    void Start()
    {
        startTime = Time.time;
        gameObject.GetComponent<ThirdPersonControl>().walkSpeed = 0;
        gameObject.GetComponent<ThirdPersonControl>().runSpeed = 0;
        go = Instantiate(freezeParticle, transform.position, transform.rotation);
    }

    // Update is called once per frame
    void Update()
    {
        if (startTime + freezeTime <= Time.time)
        {
           
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值