Scanvenger游戏制作笔记(三)Unity3D创建对墙体的攻击
Scanvenger游戏制作笔记(三)Unity3D创建对墙体的攻击
- 前言
- 一、给墙体增加一个刚体
- 二、添加标签以便确认
- 三、脚本
- 四、Wall 的脚本
- 五、攻击动画
- 系列链接
前言
本文章是我学习SIKI学院Scanvenger项目所做笔记,原视频请自行搜索,
材质等相关资源请微信搜索SIKI学院公众号,回复120获取。源码也在里面。
游戏引擎:Unity3D2020.3
之前的Prefabs内容
一、给墙体增加一个刚体
二、添加标签以便确认
三、脚本
// 获得自身的colliderprivate 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关卡胜利条件的判断
Scanvenger游戏制作笔记(八)Unity3D关卡胜利条件的判断 前言 一.每次移动判断是否到达终点 二.在移动函数中判断目标位置是否为终点 三.关卡胜利后,进入下一关 四.保留GameMana ...
- Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
Ruby's Adventrue游戏制作笔记(十四)Unity播放游戏音效 前言 一.创建背景音乐 二.创建新的脚本 三.在其他需要播放的所有脚本中进行操作 四.给敌人添加音效 五.给玩家添加移动音效 ...
- Ruby‘s Adventrue游戏制作笔记(十二)Unity给角色添加简单的特效
Ruby's Adventrue游戏制作笔记(十二)Unity给角色添加简单的特效 前言 一.把特效物品进行切割 二.创建 particle System 三.创建彩色球 四.再设置一下其他属性 五. ...
- Unity-业余2D游戏制作笔记02-Dialogue System for Unity使用
纯新手,仅用于记录个人学习中遇到的问题. 目录 当前目标: C#的变量数值和LUA代码连接 (一)Dialogue System任务流程里简单的LUA代码修改变量 (二)Lua通过调用C#函数,来修改 ...
- Ruby‘s Adventrue游戏制作笔记(十)Unity添加动画
Ruby's Adventrue游戏制作笔记(十)Unity添加动画 前言 一.给食物添加动画 二.给敌人添加动画 三.添加玩家动画 四.设置触发动画的脚本 系列链接 前言 本文章是我学习Unity官 ...
- Ruby‘s Adventrue游戏制作笔记(四)Unity绘制其他元素
Ruby's Adventrue游戏制作笔记(四)Unity绘制其他元素 前言 一.修改地图层级,将Order in Layer 提高到-10 二.创建Prefabs 三.调整人物在其他元素的位置 四 ...
- Ruby‘s Adventrue游戏制作笔记(十七)Unity添加游戏胜利条件和失败条件和导出游戏
Ruby's Adventrue游戏制作笔记(十七)Unity添加游戏胜利条件和失败条件和导出游戏 前言 一.添加两个相应的UI 二.导出游戏 系列链接 源代码和素材及游戏程序 前言 本文章是我学习U ...
- Ruby‘s Adventrue游戏制作笔记(十一)Unity角色攻击——发射子弹
Ruby's Adventrue游戏制作笔记(十一)Unity角色攻击--发射子弹 前言 一.编辑子弹 二.创建脚本 三.修改玩家攻击脚本 四.将子弹拖入玩家脚本 五.让子弹碰撞到该碰撞的东西 六.编 ...
- Ruby‘s Adventrue游戏制作笔记(十六)Unity子弹数量及其UI
Ruby's Adventrue游戏制作笔记(十六)Unity子弹数量及其UI 前言 一.创建新的UI 二.编辑脚本 三.创建获得子弹的道具 系列链接 前言 本文章是我学习Unity官方项目项目所做笔 ...
最新文章
- java 肌汉模式_设计模式之原型模式详解(附源代码)
- 阿里云https+nginx服务搭建
- Linux环境下Android开发环境的搭建
- 存储器间接寻址方式_8086微处理器的程序存储器寻址模式
- rmlv出错处理一例
- 实现机器学习的循序渐进指南V——支持向量机
- 数据结构上机实践第13周项目1 - 验证Prim算法的验证
- 使用Spring框架对接Twitter(一)
- 解决Docker for window与VMware虚拟机同时安装,造成虚拟机网络不通以及无法启动问题...
- Matlab系列教程_基础知识_绘图(二)
- 微信小程序的百度地图获取地理位置 —— 微信小程序教程系列(15)
- es修改排序_ElasticSearch自定义排序(转载)
- 机器学习笔记(17)使用XGBoost完成高维数据的分类任务
- python之股票数据分析
- nofollow、noopener和noreferrer标签的区别
- 2.Deep Neural Networks are Easily Fooled
- WPF MVVM设计模式下 相同Xaml绑定不同ViewModel问题
- 【数据分析】数据分析需要掌握的统计学理论基础知识
- Android开发越来越式微了吗?,爆火的Android面试题
- TVS管电路原理图符号及选型举例