如何让一个物体A在另一个物体B前?
把物体A加入到一个 sorting layer1,把物体B加入到sorting layer2,在sorting layer中把sorting layer1放在sorting layer2下面,A就会出现在B的前面了。
sorting layer中越在下面的layer会显示在更前面。

如何让两个碰撞体不碰撞?
把这两个碰撞体叫加到不同的layer,然后在 Edit --> Project Setting -->Physics 2D -->layer collision Matrix中把不需要碰撞的两个layer取消即可。
把这两个物体加入到两个不同的图层,设置两个图层不会相撞之后这两个图层上的物体就不会产生碰撞了。

C#如何获取随机数?
为了实现NPC随机触发对白,设置了一个简单的随机方法。
获取随机数可以用System命名空间下的类 Random ,Random是一个根据触发时间来产生随机数的类。Random还可以带参数实例化,可以自己设定触发种子。注意UnityEngine命名空间下也有一个Random类,这两个类不一样同时引用这两个命名空间需要指明该类来自哪个命名空间。

 private int GetRoundNum(){int x;Random random = new Random();x = random.Next(0, 6);return x;}

参考C#产生随机数之一 生成真随机数

Unity 2D GameManager

单例模式 单例对象的类只有一个对象,并提供让外部访问该类的功能。单例模式又分为懒汉式和饿汉式。懒汉式只有在使用到该类实例时才会实例化(线程不安全),饿汉式则在定义类时就已经实例化了。
可以使用单例模式设计GameManager。
创建一个GameManager类实现游戏数据的管理。GameManager接管了游戏从启动到关闭过程中的数据,包括场景中的物品数量,角色的血量等等。此外,游戏中进行的操作也通过GameManager管理实现,如角色死亡,收集物品。因为GameManager是全程跟随的,它可以实现数据在关卡之间的继承。

Unity 2D 如何实现玩家控制角色爬梯子功能。

可以为梯子添加一个碰撞体,并把碰撞体设为is Trigger (让此碰撞体成为一个开关)。当角色碰到梯子时,触发Trigger,让角色进入一个可爬梯子的状态(可用一个bool变量控制)在可爬梯子状态下且此时角色处于站立不动状态时(防止角色在跳跃或者跑动状态也能爬梯子)按下上下键可以转换到爬梯子状态,爬梯子状态下可以上下左右移动(左右移动会脱离梯子,此时会离开爬梯子状态),但不能进行跳跃下蹲等操作。注意Trigger只有在碰撞的一瞬间能触发,所以不要把收听指令(读取玩家操作)和判断角色状态(角色进入梯子范围这一时刻一般不处于站立不动状态)写OnTriggerEnter2D方法中,最好放在FixedUpdate函数中。

保存游戏数据

1.PlayerPrefs
PlayerPrefs是Unity3d提供了一个用于数据本地持久化保存与读取的类(保存的数据会存储下来,即使停止执行项目,数据仍然存在,下次运行依然可以加载这些数据。数据以key-value的形式将数据保存在本地,然后在代码中可以写入、读取、更新数据。
2.序列化与反序列化
序列化是把Unity中的对象转化为其他可以存储在本地的数据类型的过程,反序列化则是把这些本地存储的数据转化回Unity中的对象的过程。
序列化存储方式有三种,二进制存储,json和XML。
二进制序列化:定义一个保存类Save,把要存储的数据都在类中声明,在要保存时把数据先记录在Save类对象中,再把Save序列化为二进制数据写入文件中。加载时把文件中的数据反序列化到Save类对象中,再把Save对象中的数据加载到游戏中。二进制序列化保存下来的数据是一些二进制数据,不利于阅读,另外兼容性也不好。
Json序列化: Json序列化数据数据为key-value的形式,可读性更好;
XML序列化:

场景转换时角色的位置如何控制?

可以在另一个场景设置一个门,把门添加一个脚本,把门的位置信息传给角色,让角色出现在门的位置。这个方法不仅可以顺便实现角色进入下一关,也可以实现角色回到上一个关卡。

场景切换后如何做镜头跟踪?

两种方法
1.把角色的位置信息传给新场景中的摄像头,让摄像头的位置与角色同步,注意这两者要一直保持一致,所以更新函数要一直调用。
2.在新场景中设立一个角色替身,让新场景的摄像头跟踪替身,让替身跟踪角色。(因为一开始新场景没有角色这个对象,所以不能让摄像头跟踪角色)。

如何让一个Canvas显示在另一个Canvas前面?

在Canvas的Inspector窗口中把Canvas中的设置Sort Order,数值越大越显示在前面。

Unity游戏开发入门相关推荐

  1. UNITY游戏开发入门-Animator

    Animator是unity3D游戏开发用于动画制作,其中通过windows->animator可以调出U3D中Animator框,将完整的素材动画拖入,可以在该框中看到动画的各个组成部分. 在 ...

  2. unity游戏开发入门-spine

    好久没写了,过来写一下,本文章针对代码(示例Lua)控制Spine(一种2D美术资源),这里主要针对SkeletonAnimation形式,说明方式使用代码注释记录. 代码每块全博客衔接 1.spin ...

  3. unity游戏开发入门-声音控制游戏

    声音控制游戏中人物的移动,关键在于声音的传入,这里关机键在于使用了Microphone 怎么使用呢?下面给一段我编写的声音传入的代码:(关键处已被标识) using System.Collection ...

  4. unity游戏开发入门-Resources动态加载图片

    问题:unity的Resources动态加载就不必多说了,这里出现的问题是当我把图片放入Resources文件夹后,使用Resources.Load(datapath)却并没有出现图片. 分析:由于你 ...

  5. Unity游戏开发日记(一):独自开发2d横板游戏:Small man(MainMenu主界面)基本构建

    目录 一.独自开发想法 前言: 开发构想: 二.主要内容:MainMenu主界面基本构建 (一)预想功能 (二)功能实现 1.主界面UI设计 2.Option功能设计 3.TypeOption功能设计 ...

  6. unity 3d网络游戏实战(全).pdf_“游戏开发入门指南——Unity+”的食用指南

    虽然专栏的文章已在置顶中按内容分好类了([置顶]游戏开发入门指南专栏目录),但不排除仍然有初学者面对繁杂的内容感觉无从下手.因此额外带来一篇食用指南,旨在给想要通过本专栏学习游戏开发的同学一条相对容易 ...

  7. Unity游戏开发官方入门教程:飞机大战(六)——创建子弹

    Unity版本:Unity 2018.2.14f1 原视频链接:https://unity3d.com/cn/learn/tutorials/s/space-shooter-tutorial 教程目录 ...

  8. “游戏开发入门指南——Unity+”的食用指南

    "游戏开发入门指南--Unity+"的食用指南 虽然专栏的文章已在置顶中按内容分好类了([置顶]游戏开发入门指南专栏目录),但不排除仍然有初学者面对繁杂的内容感觉无从下手.因此额外 ...

  9. 【Unity2D游戏开发入门第一卷】✨Unity入门总结Sunnyland示例(上卷)

    部分功能例如目录跳转,回到顶部功能在这里有问题 追求阅读体验可以转到 ✨本人主战场!✨ ✨✨目录 一.入门卷 二.杂项卷 三.最后 一.入门卷 回到顶部 前言 准备资源 Tilemap 地图布置,刚体 ...

  10. Unity游戏开发官方入门教程:飞机大战(二)——创建飞船对象

    Unity版本:Unity 2018.2.14f1 原视频链接:https://unity3d.com/cn/learn/tutorials/s/space-shooter-tutorial 教程目录 ...

最新文章

  1. mpVue配置sass全局变量
  2. 【嵌入式开发】ARM 芯片简介 (ARM芯片类型 | ARM处理器工作模式 | ARM 寄存器 | ARM 寻址)
  3. 服务器find寻找文件路径,Linux find 查找文件
  4. mysql安全补丁如何处理_3分钟学会mysql数据库的逻辑架构原理
  5. Spring Boot 常用注解
  6. Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目
  7. 艰苦的编译boost python (失败)
  8. android textview adapter,Android在FragmentPagerAdapter中的Fragment中设置TextView文本
  9. InnoDB引擎WAL机制之Redo Log
  10. Hyperledger Composer 客户端连接Fabric网络的配置文件解析
  11. 5A通过PMP考试分享
  12. [work*] 贝叶斯公式的通俗解释
  13. EnableViewState和ViewStateMode差别详解
  14. 改善民生 住有所居(加快经济发展方式转变)
  15. jquery通过前缀removeClass
  16. chrome浏览器本地信息的获取与设置
  17. unity urp内置lit材质源码解析(下)
  18. python键盘键值表_Python怎么记录键盘鼠标敲击次数|Python统计鼠标点击次数 - PS下...
  19. Sentinel(第三篇)_Springboot2.x+Sentinel监控信息基于MySQL持久化
  20. 仿支付宝经营分析--周日历选择

热门文章

  1. 2017诺贝尔文学奖揭晓!1901-2017年最全诺奖书单来了
  2. 用matlab表白,用函数表达对她的爱
  3. android:kotlin语言开发再也不用findViewById与ButterKnife
  4. 群晖系统上的 Docker 使用拾遗
  5. 【UI界面设计】网页设计基础笔记
  6. MP-SPDZ开源库——将结果输出到文件
  7. 生日快乐网站模板(HTML5+JS+CSS) 带音效
  8. 微信支付“举刀”挥向谁?
  9. zerglurker的C语言教程010——运算符详解(二)
  10. 三线制接近开关原理及接线图