文章目录
0.写在前面
此篇博客用来记录游戏开发过程中遇到的各种问题以及大致的流程,方便自己以后回顾学习,如果想要了解完整的开发过程,最好去看教学视频。
U n i t y Unity Unity版本: 2019.4.12 f 1 2019.4.12f1 2019.4.12f1。
相应的视频教程请在 B B B站搜索 u p up up主 M _ S t u d i o M\_Studio M_Studio观看。
1.导入素材
在商店中搜索 S u n n y L a n d Sunny\ Land Sunny Land即可找到对应的资源,下载后导入到当前项目即可。
2.编辑素材&Tilemap
在编辑背景等图片资源之前有一个知识点需要我们了解,那就是单位格:
上图所示的每一个小方格都是单位格,而图片资源会有如下属性:
通过修改这一参数(单位长度内的像素个数),我们就可以控制图片资源显示的大小。该项目内统一使用 16 16 16。
下面简单介绍一下 T i l e m a p Tilemap Tilemap是什么,怎么用。我们可以先看一张图片:
简单来说,利用 T i l e m a p Tilemap Tilemap我们可以快速的创建 2 D 2D 2D地图。通过对 S p r i t e Sprite Sprite也就是图片的切分,我们可以得到一个个 T i l e Tile Tile,他们就相当于颜色;我们可以把它们附着在 P a l e t t e Palette Palette上面(调色板);然后通过 B r u s h Brush Brush在 T i l e m a p Tilemap Tilemap也就是场景中绘制,就像画画一样。那么在 u n i t y unity unity中整个流程是怎么样的呢?
1. 1. 1.切分图片。
2. 2. 2.创建 P a l e t t e Palette Palette。
3. 3. 3.将 T i l e Tile Tile添加到 P a l e t t e Palette Palette中(拖入图片创建 T i l e Tile Tile)。
4. 4. 4.在场景中创建 T i l e m a p Tilemap Tilemap。
5. 5. 5.通过 B r u s h Brush Brush把 T i l e Tile Tile绘制到 T i l e m a p Tilemap Tilemap中。
如果在 g a m e game game视图下看到场景中有缝隙,可以修改这个参数:
3.图层layer&角色建立
有时候我们需要控制场景中不同物体的渲染顺序,比如地形之类的应该在背景之上显示,这个该怎么做呢? S o r t i n g L a y e r 、 O r d e r i n L a y e r Sorting\ Layer、Order\ in\ Layer Sorting Layer、Order in Layer。前者选中的 l a y e r layer layer越靠下,显示的越靠上;同一 l a y e r layer layer中,后者的值越大,显示的越靠上。
想要创建人物,首先要在场景中创建一个精灵,然后修改它所引用的图片。同时不要忘了修改位置、层级以及图片的大小( P i x e l s p e r u n i t Pixels\ per\ unit Pixels per unit)。
但是此时我们的人物还不会动,也不受重力影响。所以我们需要为其加上 r i g i d b o d y 2 D rigidbody2D rigidbody2D和碰撞体组件,当然,场景中的地形也需要加上碰撞体。
4.角色移动
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody2D rb2d;
public float speed = 5f;
// Start is called before the first frame update
void Start()
{
rb2d = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
Movement(