本文主要是介绍Unity(4)-生成2D预制体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- 其他介绍
- 上一篇笔记
- 下一篇笔记
- 一、C#代码
- [1]. 创建
- [2]. 设置公有变量
- [3]. 实例化
- [4]. 设置位置
- [5]. 绑定脚本
- 二、预制体
- [1]. 导入图片
- [2]. 生成Object
- [3]. 绑定Sprite
- [4]. 生成Prefab
- [5]. 绑定预制体
前言
通过代码来生成预制体,项目是
2D
的类型
Unity版本:2018.4.29
其他介绍
微软官方C#函数文档
Unity官方API文档(英文)
Unity官方API文档(中文)
Unity官方用户手册(中文)
Unity游戏蛮牛API文档(中文)
Unity教程-C语言中文网
Unity用户手册-unity圣典
Unity组件手册-unity圣典
Unity脚本手册-unity圣典
上一篇笔记
Unity笔记(3)-图片切分
下一篇笔记
Unity(5)-解决Input类无法识别的问题
一、C#代码
[1]. 创建
在
unity
项目创建完毕后,先创建一个脚本,命名随意
默认的代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class create : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}
}
[2]. 设置公有变量
然后在类的开头部分先创建一个
GameObject
类型的变量,这类型是unity
所有实体的基类。
在class
内部且不为方法内部定义的public
变量为公有变量
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class create : MonoBehaviour
{public GameObject prefab;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}
}
[3]. 实例化
使用函数
Instantiate()
,传入一个GameObject
变量
写入Start()
方法,当游戏开始的时候将会执行实例化的代码。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class create : MonoBehaviour
{public GameObject prefab;//公有变量// Start is called before the first frame updatevoid Start(){Instantiate(prefab);}// Update is called once per framevoid Update(){}
}
[4]. 设置位置
如果你需要设置生成的预制体位置时,就需要在实例化函数中传入第二个参数
transform
对其属性transform.position
赋值一个向量Vector2(x坐标,y坐标)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class create : MonoBehaviour
{public GameObject prefab;//公有变量// Start is called before the first frame updatevoid Start(){//Instantiate(prefab,transform).transform.position = new Vector2(2,4);//方式一//方式二GameObject obj = Instantiate(prefab,transform);//先实例化成一个对象objobj.transform.position = new Vector2(2,4);//再修改位置//方式三//Instantiate(prefab,transform.position,transform.rotation);//直接在脚本挂载的物体位置实例化}// Update is called once per framevoid Update(){}
}
[5]. 绑定脚本
c#
脚本不能单独存在,需要绑定到一个物体上
下方的
Prefab
就是我们之前在代码中定义的公有变量,只不过首字母变成了大写。
二、预制体
[1]. 导入图片
[2]. 生成Object
在
Hierarchy
窗口中右键,创建一个Object
[3]. 绑定Sprite
选中刚刚创建的
Object
在右侧的
Inspector
界面中,设置对应的Sprite
你可以拖动图片到这个
Sprite
属性,或者是点击右侧的小齿轮设置
[4]. 生成Prefab
将
Object
拖动到文件夹中,就会直接转换成Prefab
一个预制体就建好了
原先场景的
Object
类型会变化为Prefab
类型,场景的预制体可以删除掉。
[5]. 绑定预制体
第一步完成的
Object
已绑定了脚本,但是没有绑定具体的预制体
同样的,将预制体拖动到
Prefab
中即可
绑定完成就能播放查看代码是否成功执行。
注:Prefab是在代码中自己定义的公有GameObject类型变量
这篇关于Unity(4)-生成2D预制体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!