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