unity贪吃蛇 笔记

(利用UGUI)

格子每格30

box collider2d不识别ugui的大小,需要自己设置size

游戏逻辑–实现思路

蛇头

  • 移动
    • (每隔一段时间invoke repeat)(突变Transform)
    • (差值loop、movetowards)
  • 碰撞食物
  • 传送
    • 蛇头
  • 死亡
    • 碰撞边界
    • 碰撞自己身体

蛇身

  • 移动
    • (继承前一个的位置;从后往前挪)(双色蛇身:奇偶性赋值图片)
    • (尾巴 移到蛇头后一个)
  • 增加

食物

  • 随机生成
  • 销毁

设置

固定分辨率:

file——build setting——player setting——resolution

取消勾选default full screen;设置为1280 x 720

Display resolution dialog选择disabled

公司名称:company name

导入资源:

project面板右键——import package——custom package添加unitypackage类型资源——import

  • Scenes场景
  • Scripts脚本
  • audio音频
  • effects特效
  • fonts字体
  • sprites图片
    • background
    • icon(道具)
    • snakepart(蛇)
    • UI

开始场景

canvas

  • bg(image)
    • 背景点缀图片(image)
  • controlPanel(image)
    • 皮肤(text)(Toggle group)
      • Toggle1蓝色
        • background
          • checkmark
          • 小蛇–蛇头蛇身组合(image)
        • label:科技小蛇
      • Toggle2黄色
        • background
          • checkmark
          • 小蛇–蛇头蛇身组合(image)
        • label:小黄人蛇
    • 模式(text)(Toggle group)
      • Toggle1
        • background
          • checkmark
        • label:边界模式(outline)
      • Toggle2
        • background
          • checkmark
        • label:自由模式(outline)
    • 分数(text)
      • 上次:长度0,分数0(text)
      • 最好:长度0,分数0(text)
  • title(text)(shadow)
  • go(image)(Button组件)(outline)(shadow)
    • 开始(text)

canvas:

render mode——screen space camera(多用于2d游戏)

(overlay:多用于3d,ui一直显示在最上层,hud抬头显示)

设置render camera为主摄像机main camera

**背景图片:**image

填充:anchor设置alt下最右下角

设置source image为背景图片

**左边栏:**image

设置source image为unity自带的background图片

color:透明度a为120

左侧填充:anchor设置alt下最左下角

**标题:**text

贪吃蛇

居中

选择字体

anchor设置 中上

**开始按钮:**image(Button组件)(outline)(shadow)

设置source image为go

set native size

左边栏控制:

皮肤、模式、分数:

居中、斜体、字体

anchor设置 中上

*分数:*text

anchor设置 中上

*模式:*创建Toggle

label——边界模式、自由模式

background——anchor设置 左中

checkmark——anchor设置alt下最右下角

模式添加Toggle group,Toggle设置Toggle group

皮肤:创建Toggle

background——anchor设置alt下最右下角

checkmark——anchor设置 最左上角

label——anchor设置alt 最右上角——科技小蛇、

background下面添加image小蛇

每个隔着35

(面板上 位置 可以写计算式子)

游戏场景

复制开始场景,进行修改

canvas

  • bg
    • 边界 上下左右(image)(box collider 2d)
  • panel
    • 模式
    • 得分
    • 长度
    • 首页按钮底图(image)(Button)
      • 首页图片(image)
    • 暂停按钮底图(image)(Button)
      • 暂停图片(image)

**模式:**无尽模式

设计的时候按照最大的来

得分、长度:(第一行)

0(第两行)

按钮:

底部图片设置为unity自带的UIsprite

子物体设置图片

**边界:**空物体

anchor设置 中上、下、左、右

添加collider、设置size

添加image、图片为自带的background、颜色红色

蛇头

image

设置图片

大小45

制作为预制体Prefab

添加脚本SnakeHead

》SnakeHead

自行移动(格子)

键盘控制移动

蛇头朝向变化

不能反向移动

按空格加速移动

public float velocity=0.35f;//移动的间隔时间
public int step;//一步走多少
private int x;//x坐标 增量
private int y;//y坐标 增量
private Vector3 headPos;//头部坐标

void Start()
{
    InvokeRepeating("Move",0,velocity);//重复调用(方法名字,执行此句后多久开始调用,隔多久调用一次)
    //最初的移动方向(向上)
    x=0;
    y=step;
}

void Update()
{
    if(Input.GetKeyDown(KeyCode.Space))//按空格 加速移动
    {
        CancelInvoke();//必须先结束重复调用 再修改参数
        InvokeRepeating("Move",0,velocity-0.2f);//缩短移动一次的间隔时间=加速移动
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值