Unity2D学习笔记Day8:添加敌人——踩到敌人时消灭(补8.15)

编程入门 行业动态 更新时间:2024-10-22 19:25:23

Unity2D学习笔记Day8:添加敌人——踩到敌<a href=https://www.elefans.com/category/jswz/34/1771242.html style=人时消灭(补8.15)"/>

Unity2D学习笔记Day8:添加敌人——踩到敌人时消灭(补8.15)

学习资源:B站 M_Studio《Unity教程2D入门》13

Unity Assets:Sunnyland

Day8

预期效果:若玩家踩到敌人的头上,则可以将敌人消灭

准备工作

1.将素材导入

2.将素材尺寸调整好——Pixels Per Unit设为16

3.创建2Dsprite

4.给该sprite添加图片,一般默认是最常用的一张图——Sprite属性
如果不显示,则需要调整sorting layer

5.添加Rigidbody2D 和 collider
如果是tile碰撞体(记得锁定RigidBody的z轴)

6.添加animator

消灭敌人

注意:这里因为不是用isTrigger来设置敌人的碰撞体,所以和Cherry的设置有点不同。

  1. OnTriggerEnter2D->OnCollisionEnter2D
  2. 代码里不能直接写collision.tag == “Enemy”。
private void OnCollisionEnter2D(Collision2D collision){if(collision.gameObject.tag == "Enemy"){Destroy(collision.gameObject);}}

该函数为内置的函数,意为:当碰到2D碰撞体时执行

但现在这个代码只是实现了当Player碰到敌人时,敌人消失。

为了实现“踩到敌人将敌人消灭”我的判断条件是当Player的动画状态是falling时…判断条件不唯一,根据需要来

如果不是falling的状态则做出另外的反应(代码省略)

	private void OnCollisionEnter2D(Collision2D collision){//只有在下落的时候if(anim.GetBool("isFalling")){//踩到敌人if (collision.gameObject.tag == "Enemy"){//敌人才会消失Destroy(collision.gameObject);//踩完后垫着敌人小跳一下rb.velocity = new Vector3(rb.velocity.x, jumpforce * Time.deltaTime);anim.SetBool("isJumping", true);}}else{//触发别的效果}}

更多推荐

Unity2D学习笔记Day8:添加敌人——踩到敌人时消灭(补8.15)

本文发布于:2024-02-24 18:58:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1696346.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:人时   踩到   学习笔记   敌人   Unity2D

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!