Unity中Instantiate一个prefab时需要注意的问题
在调用Instantiate()方法使用prefab创建对象时,接收Instantiate()方法返回值的变量类型必须和声明prefab变量的类型一致,否则接收变量的值会为null.
public GameObject myPrefab;
GameObject newObject = Instantiate(myPrefab) as GameObject;
注意Instantiate()后面的as也要是GameObject。
又比如我们的prefab类型是我们自定义的UserObject,
public UserObject prefab;
那么在使用Instantiate()时我们需要写成:
UserObject newObject = Instantiate(myPrefab) as UserObject;
比较容易犯的一个错误是我们声明的类型是:
public GameObject myPrefab;
在Instantiate()返回值却想要用Transform,如下:
Transform newObject = Instantiate(myPrefab) as Transform;
这个时候就会出现newObject为null的问题。
这个问题看起来很诡异,也曾经给我带来了一些麻烦,后来经过搜索和自己的实验证明了以上的结论,希望看到这篇文章的朋友可以避免这个问题。
导致这个问题的具体原因还不是很清楚,也许和C#语言的某些特性有关,自己也是刚接触C#没多久,如果之后搞明白会在这篇文章的下面补充。
转载于:https://www.cnblogs.com/android-blogs/p/6145911.html
Unity中Instantiate一个prefab时需要注意的问题相关推荐
- 学习在Unity中创建一个动作RPG游戏
游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...
- 学习用C#在Unity中创建一个2D Metroidvania游戏
学习用C#在Unity中创建一个2D Metroidvania游戏 你会学到: 构建2D Unity游戏 用C#编程 玩家统计,水平提升,米尔和远程攻击 敌方人工智能系统 制定级别和级别选择 Lear ...
- 学会在Unity中创建一个Match-3益智游戏 Learn To Create a Match-3 Puzzle Game in Unity
MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:48场讲座(6h 38m) |大小解压后:2.8 G ...
- Unity:图片的一个像素单位对应Unity中的一个距离单位
当我们使用unity开发时2D项目时,如果需求是一个像素单位就要对应unity中的一个距离单位, 也就是:图片的1像素 = unity中的1个距离单位. 在该图片的属性面板中可以看到有个属性是:Pix ...
- Android在ListView中嵌套一个GridView时只显示一行的原因及解决方法
在之前的编程里,我还没有遇到过要在一个ListView中嵌套一个GridView或是在一个GridView中嵌套一个ListView.所以今天事儿来了!我花了一将近3个小时,找到了为什么我在一个Lis ...
- listview当选中某一个item时设置背景色其他的不变
2019独角兽企业重金招聘Python工程师标准>>> listview当选中某一个item时设置背景色其他的不变: 可以使用listview.setOnFoucsChangeLis ...
- Unity中获取一个物体下所有的子物体的方法
Unity中获取一个物体下所有的子物体的方法 方法1(获取全部子物体,无论子物体SetActive是否为true): using System.Collections; using System.Co ...
- Unity中使用SteamVR Plugin时不显示HTC Vive手柄控制器的解决办法
Unity中使用SteamVR Plugin时不显示HTC Vive手柄控制器的解决办法 出错原因: 开发应用程序时用的SteamVR Plugin版本太高(1.2.1及以后)(也可以说是SteamV ...
- 如何利用UGUI在Unity中实现一个本地排行榜
write by 书封影 前置知识:Unity的基本操作,C#基础,List泛型集合基本操作,GameManager,string的基本使用方法.注意,本文默认你已经掌握上述知识,并在后文中不会对上述 ...
最新文章
- 那些年你用过哪些消息中间件?为什么又弃了?现在用的是什么?
- linux脚本 程序输入,[转]Linux中shell脚本如何自动输入…
- html追加行clone,jQuery - 使用.clone()方法克隆拷贝元素
- AJAX 缓存问题的两种解决方法(IE
- 2017年9月分c语言,2020年9月中国编程语言排行榜
- Ambari--服务管理
- 【使用技巧】【图像编辑和处理】将GIF图缩放
- 常用股票软件linux,在 Linux 下看股票?
- 教学流程图怎么画?画流程图好用的软件
- c语言入门if语句(嵌套)
- IT服务台基础概念及创建方法
- 使用Java程序接口备份数据库的思路与实现
- keepalived实现高可用nginx反向代理(Web集群)
- 矿大计算机考研上岸分数,2021--2022中国矿业大学动力工程考研上岸心得及分数线报录比...
- js的slice,splice,split的使用
- c++primer(第五版) 第十五章 面向对象程序设计习题答案
- 探究 PHP_CodeSniffer 的代码静态分析原理
- Mac下Cornerstone错误异常导致打不开
- 关于NTLDR的一些注意事项
- 把握好每一个属于自己的清晨
热门文章
- mac 完全卸载mysql
- 系统开发基础:UML相关知识笔记
- 树莓派的几种登录方式及树莓派的网络配置
- mysql 判断字段为null表示 false 其它为true_日拱一卒,MySQL数据库 常用SQL优化技巧 十一式...
- Mybatis Integer类型参数值为0时判断为空、空字符串不通过
- 按钮 交互_SwiftUI中的微交互—菜单按钮动画
- 07_00_加载资源(Webpack Book)
- 信号为E时,如何让语音识别脱“网”而出?
- 持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型
- 谷歌Gboard输入法新增“无痕模式”:仅在Chrome隐身窗口中适用