Scanvenger游戏制作笔记Unity3D创建对墙体的攻击

Posted Lmz_0314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scanvenger游戏制作笔记Unity3D创建对墙体的攻击相关的知识,希望对你有一定的参考价值。


前言

本文章是我学习SIKI学院Scanvenger项目所做笔记,原视频请自行搜索,
材质等相关资源请微信搜索SIKI学院公众号,回复120获取。源码也在里面。
游戏引擎:Unity3D2020.3
之前的Prefabs内容

一、给墙体增加一个刚体

二、添加标签以便确认

三、脚本

// 获得自身的collider
    private BoxCollider2D collider;

void Start()
    
        rigidbody = GetComponent<Rigidbody2D>();
        collider = GetComponent<BoxCollider2D>();



// 检测碰撞,首先禁用自身
            collider.enabled = false;
            RaycastHit2D hit =  Physics2D.Linecast(targetPos, targetPos + new Vector2(h, v));
            collider.enabled = true;
            if(hit.transform == null)
            

            targetPos += new Vector2(h, v);
            restTimer = 0; // 重新计时
            

            else
            
                switch (hit.collider.tag)
                
                    case "OutWall":
                        break;
                    case "Wall":
                        break;
                
            
restTimer = 0;		// 这个不能忘,否则一秒内清理完成	


攻击墙体,给TakeDamage的消息

四、Wall 的脚本

public class Wall : MonoBehaviour


    public int hp = 2;

    public Sprite damageSprite;// 受到攻击的图片

    // 受到攻击的时候
    public void TakeDamage()
    
        hp -= 1;
        GetComponent<SpriteRenderer>().sprite = damageSprite;           //  获得受到攻击时候的图片,并且改变受到攻击时的墙体图片
        if (hp <= 0)
        
            Destroy(this.gameObject);  // 墙体没血销毁
        
    




在 Damage Sprite 中放置受到伤害后的墙体

五、攻击动画

获得攻击动作

private Animator animator;
animator = GetComponent<Animator>();

播放攻击动画

系列链接

Scanvenger游戏制作笔记(一)Unity3D状态机转换
Scanvenger游戏制作笔记(二)控制玩家操作
Scanvenger游戏制作笔记(三)Unity3D创建对墙体的攻击
Scanvenger游戏制作笔记(四)Unity3D控制角色吃食物
Scanvenger游戏制作笔记(五)控制敌人的移动
Scanvenger游戏制作笔记(六)Unity3D创建游戏UI的显示
Scanvenger游戏制作笔记(七)Unity3D控制游戏的失败
Scanvenger游戏制作笔记(八)Unity3D关卡胜利条件的判断
Scanvenger游戏制作笔记(九)Unity3D创建声音

以上是关于Scanvenger游戏制作笔记Unity3D创建对墙体的攻击的主要内容,如果未能解决你的问题,请参考以下文章

Scanvenger游戏制作笔记Unity3D创建游戏UI的显示

Scanvenger游戏制作笔记Unity3D创建对墙体的攻击

Scanvenger游戏制作笔记Unity3D状态机转换

Scanvenger游戏制作笔记Unity3D控制游戏的失败

Scanvenger游戏制作笔记Unity3D控制角色吃食物

Scanvenger游戏制作笔记Unity3D关卡胜利条件的判断