Unity学习笔记(6)仿手游贪吃蛇第二章「碰撞后随机生成食物」「碰撞后蛇身增加一节」

本文介绍了如何在贪吃蛇游戏中实现蛇头撞食后随机生成新食物并扩展蛇身的功能。重点讲解了`CreateFood`函数和`OnTriggerEnter2D`事件处理,展示了如何使用Unity的碰撞检测和Prefab来模拟游戏逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实现效果

在这里插入图片描述

功能列表
  • 实现每次蛇头与食物相撞时,会在固定面积内随机生成其他食物
  • 每次‘吃掉’食物后,蛇身增长一节

二、核心要点

碰撞的要点就不详细说了,这一章主要核心实现的是蛇身的增加

void CreateFood()
{
float x = Random.Range(-8.6f, 8.6f);
float y = Random.Range(-4.6f, 4.6f);
GameObject food = FoodPrefab;
Instantiate(food, new Vector3(x, y, -1), Quaternion.identity);
}

注意⚠️snakeBody.Count-1即代表上一节蛇身

private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.tag.Equals(“Food”))
{
Destroy(collision.gameObject);
GameObject newbodynext = Instantiate(body,snakeBody [snakeBody.Count-1].transform.position,Quaternion.identity);
snakeBody.Add(newbodynext);
CreateFood();
}
}

三、感想总结

当前只是初步实现了PC端的贪吃蛇功能,下一步学习将按键控制改为触屏方向控制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值