Unity(4)-生成2D预制体

2024-01-10 12:18
文章标签 生成 unity 2d 预制

本文主要是介绍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预制体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590788

相关文章

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点