首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我在Unity中看不到脚本中的函数?

在Unity中看不到脚本中的函数可能是由以下几个原因导致的:

  1. 脚本没有正确绑定到游戏对象:确保你的脚本已经正确地附加到游戏对象上。在Unity编辑器中,可以通过拖拽脚本文件到对应的游戏对象上进行绑定。
  2. 函数没有正确声明为公有(public):在脚本中,如果你希望其他脚本或者Unity引擎能够访问某个函数,必须将其声明为公有。例如,使用"public"关键字修饰函数,如下所示:
代码语言:txt
复制
public void MyFunction()
{
    // 函数体
}
  1. 函数名拼写错误或参数不匹配:检查函数名的拼写是否正确,并确保传入的参数与函数声明中的参数相匹配。如果函数名或参数不匹配,Unity将无法找到并显示该函数。
  2. 函数所在的脚本未被正确编译:如果你在编辑器中修改了脚本文件,并且有错误导致无法正确编译,Unity将不会显示该脚本中的函数。请确保脚本文件中没有语法错误,并且成功编译通过。

需要注意的是,以上仅为一般情况下的可能原因,具体原因需要根据实际情况来进行排查。如果仍然无法解决问题,可以提供更详细的代码和相关配置信息,以便更准确地定位问题。

如果你对Unity开发有兴趣,腾讯云提供了一款云游戏开发解决方案——云游戏引擎(GME),它可以帮助开发者实现游戏的快速部署和高质量运行。了解更多关于云游戏引擎的信息,请访问腾讯云官网:云游戏引擎

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

nextline函数_在JAVA中Scanner中的next()和nextLine()为什么不能一起使用?

大家好,又见面了,我是你们的朋友全栈君。...回车符 “\r” 它被丢弃在缓冲区中,现在缓冲区中,只有一个 \r ,于是 下一次 nextLine 扫描的时候就又扫描到了 \r,返回它之前的内容,也是啥都没有 “” ,然后再把 \r 去掉, 对于...,而我们在控制台中输入的数据也都是被先存入缓冲区中等待扫描器的扫描读取。...这个扫描器在扫描过程中判断停止的依据就是“结束符”,空格,回车,tab 都算做是结束符 而坑点在于 next 系列的,也就是下面这些函数:next nextInt nextDouble nextFloat...这些函数与 nextLine 连用都会有坑 坑点就是 next 系列的函数返回了数据后,会把回车符留在缓冲区,因此我们下一次使用 nextLine 的时候会碰到读取空字符串的情况 解决方案:输入都用

2.7K10
  • Unity 脚本入门

    在 Unity 中脚本是必不可少的组成部分,因为它将定义游戏的各种行为。Unity 推荐使用的编程语言是 JavaScript,但是 C# 或 Boo 同样也可以。...下面介绍 JavaScript 的基本使用及脚本的 API 。 一、命名规范 在开始之前,先说一下在 Unity 中的一些命名规范。 变量 - 首写是小写字母。变量用来存储游戏状态中的任何信息。...提示:当阅读范例代码或者 Unity 的 API ,要注意首写字母,这将有助于你更好的理解对象之间的关系。 二、第一个脚本游戏 我们的第一个脚本游戏是在一个简单的游戏场景中走动....在 Unity 中为了移动一个游戏对象我们需要用 transform 来更改它的位置,属于 Translate ,这个 Translate 函数有 x,y,z 三个参数,因为我们向通过光标健控制主相机,...第二步: 从菜单栏中 Components -> Script -> Move1,将这个脚本赋予相机,你在检视面板中看到主相机有 Move1 这个组件。 ?

    1.5K20

    项目优化之数据集合优化(Unity3D)

    我应该使用Array吗?我应该使用List吗?噢 ,等等,或者使用Dictionaries? 为什么我的循环花了那么长时间呢? ? 在我代码中看不到任何的错误,那么为什么我的代码执行那么慢?...为什么查找我想要的对象话费那么长时间? 我看不到任何的GC(垃圾回收器)处理,然而我的游戏为什么那么的延迟? “这些是我们在开发一个游戏的时候经常遇到的一些常见问题。”...通过创建对象的集合 我们应该记得每一种集合的具体用法,以及它的优点和缺点,并且知道在什么情况下使用它是最佳的。 ---- 在文章中,我将列举在Unity中所有常用的数组,这样有利于你更好的理解集合。...在Unity中Dictionary(字典) 和 List(列表)是最常用的集合,让我给初学者对于Dictionary(字典) 和 List(列表)的一些基本概念。如果知道的朋友可以跳过。 1....1.在Unity中依照下面方式来设置场景 a) 创建一个空的游戏物体(Empty Game),并且更改名字(你随意,在这里我命名为Test) 2.创建一个脚本,并且命名为你喜欢的名字 a) 在这里我把命名为

    65240

    Unity3D 入门:在 Visual Studio 里使用 Visual Studio Tools for Unity 全套工具

    Visual Studio Tools for Unity 我在 Unity3D 入门:安装 Unity3D 并配置与 Visual Studio 的协作开发环境 - walterlv 一文中提及了在安装...快速实现 Unity 消息 在 MonoBehaviour 的类中输入 onXXX 可以在智能感知列表中看到 Unity 在游戏运行时给每个游戏对象广播的消息,直接回车输入可以插入这个方法。...于是,你可以无需记忆所有的这些消息就可以在不同的消息中添加处理函数。 或者,你也可以在类中按下 Ctrl+Shift+M 打开“实现 Unity 消息”对话框,通过勾选插入一堆处理函数。...Unity 项目资源管理器 我们在 Unity 编辑器中查看 Unity 项目的文件结构与 Visual Studio 解决方案资源管理器中看到的是完全不同的。...实际上,Visual Studio 中的项目和解决方案对 Unity 资产来说是没有意义的,有用的其实是里面的 C# 脚本。

    86520

    Unity3D基础知识之 ✨ Stats渲染数据统计窗口

    另外,Unity 中的 FPS 数值仅包括此游戏 Scene 里更新和渲染的帧,编辑器中编辑的 Scene 和其它监视窗口的进程不包括在内。...在 Stats 面板中看到的 Batches 是渲染的总 Batch 这个值等于同于 DrawCall。 但 Unity 中可以获取到末批次处理之前的 DrawCall。 因此需要注意不要混淆感念。...在渲染处理中,场景一中会产生 1000 个 Draw Calls,它的渲染时间明显比场景二慢。...,换句话说,哪怕你在当前 game 视图中看不到这个 cube, 如果当你把 field of view 调大到179 过程中都看不到这个 cube,stats 面板才不会统计, GPU 才不会渲染,否则都会渲染...(参考自Mess的《Unity Camera组件部分参数详解》) 3、新建一个空的场景,里面没有添加任何物体,为什么 status 面板上显示有 1.7k Tris 以及 5.0k Verts 。

    2K30

    Unity入门教程(上)

    这样Rigidbody组件就被添加到了玩家角色中,可以在检视面板中看到Rigidbody。 再次运行游戏(步骤七),这一次玩家角色将快速落下并在撞到地面时停止。 ?...这时Visual Studio 2013将会启动,Player.cs脚本被打开(我将Mono Develop编辑器换成了VS2013) 注:在项目视图中双击脚本项也能够启动编辑器(在这里是VS2013)...3,脚本编辑 (1)脚本的开头有一行代码,确认public class 后紧跟着的类名为Player(Unity规定C#脚本中类名必需和文件夹名相同) ?...十四、小结 本次学习主要使我了解了使用Unity进行游戏开发的基本流程:创建好可见的物体(对象)→编写脚本控制它们的动作→创建材质→调整尺寸→完成。 另外记得每次完成一个过程记得要保存好项目文件。...后半部分内容要学习如何使用脚本编程来实现一个游戏特有的玩法,敬请期待。 在步骤十一添加游戏脚本中,大多数人会问 为什么and如何将Unity编辑器换成Visual Studio?

    3.4K70

    Unity基础系列(一)——创建一个时钟(GameObjects与Scripts)

    同时我也会禁用网格显示,这个按钮在Scene窗口的右上角,点击Gizmos 之后会出现一个下拉菜单。 小提问:为什么我的Game窗口会有一些黑色的边距呢? 这种情况一般发生在高分辨的显示器上。...如果你是在2D的环境下工作的话,你可以忽略掉三维中的一维,有一些2D的游戏对象,比如UI这种,它会有一个叫做Rect Transform的组件。它其实是一种特殊的Transform 组件。...每一个Unity创建的脚本都包含Unity脚本组件的默认代码,如下: ? 代码的语言是C#,Unity支持的脚本语言,为了搞清楚代码是如何工作的,我们先把它删除,然后从0写起。...截止2017.1.0,Unity 仍然可以通过菜单创建JavaScript 脚本,但是2017.2.0将会移除创建的入口,并且在未来会逐步停止支持。...因为编译器不知道MonoBehaviour是什么东西,因为有些类是包含在一些命名空间里的,如果不申明命名空间的话,编译器找不到这个类,这个例子里MonoBehaviour是在UnityEngine的命名空间下的

    2.3K10

    【Unity游戏开发】浅谈Unity游戏开发中的单元测试

    一、单元测试的定义与作用   单元测试定义:单元测试在传统软件开发中是非常重要的工具,它是指对软件中的最小可测试单元进行检查和验证,一般情况下就是对代码中的一个函数去进行验证,检查它的正确性。...二、在Unity中使用NUnit进行单元测试   话说,马三在工作的过程中,极少地发现周围的同事会对自己编写功能进行单元测试。...在正确的函数中,当 Health 的值小于 100 的时候,会抛出一个刚才我们自定义的异常。...但是如果你会发现这个模块无法引入,VS没有自动补全这个命名空间,就算手动写上了还是提示找不到。这是为什么呢?   ...也就是说有些你在Winform、WPF等工程中用到的类库并不能完美地在Mono中使用,这也就是为什么会发生上述找不到单元测试的模块的问题。

    2.9K20

    unity3d 入门

    大家好,又见面了,我是你们的朋友全栈君。...找不到ms-vscode.csharp依赖 unity插件版本太老,可以修改extension目录中的package.json依赖 .vscode\extensions\unity.unity-debug...) 异常捕获 vscode设置常用的nullReference异常,可以在资源为空的地方停止运行 package unity运行错误,提示文件asmdef文件找不到 在package中搜索,找到后双击导入...模式配置depth顺序配置渲染先后顺序,depth小的先渲染 脚本OnGUI只能创建,操作在Update中进行 打包 UnityEditor不能在打包项目中使用,否则无法打包 Unity中使用System.IO...中的DirectoryInfo打包会找不到路径 android目录 application.datapath unity的资源目录,权限导致写入数据容易失败 temporaryCachePath 系统临时缓存目录

    3.6K20

    游戏开发初级之游戏对象和组件关系(Unity3D)

    一、前言 Unity是一个基于组件的游戏引擎。本文将解释这是什么以及如何有效地使用它。 二、GameObject 在Unity中, GameObject几乎就是一个空对象。这是其他一切的基础。...在“Unity”中,这样做的方式如下: 创建一个GameObject 添加三维模型Conponents 增加生命值Components 增加技能Components 增加一个移动Components 增加...在Unity中,组件可以是脚本、声音、网格(3D模型)、刚体、碰撞器等等。 在上面的例子中,生命、技能、运动、AI和GUI可能是脚本。...我们只需要使用一个公共类型的生命值变量这可以由任何类型的Health组成部分(在我们的例子中,它将是怪物的生命值)。...但是等等,因为它是公开的,我们现在可以在“Unity的Inspector面板”中看到它的一个字段: 这意味着我们可以把一些东西拖到里面,这样它就不再是空的了。

    1.1K20

    Unity3D Editor自定义窗口、自定义组件学习分享

    在我们的代码中,用了一个 if 判断语句来判断,当我们点击该按钮时所触发的事件(该函数的返回值是一个 bolol 类型),在代码中克森也上好备注了,因此也没有什么难的,直接上效果图: #####SaveBug...需要注意的是所以Gizmos的绘制必须在脚本的OnDrawGizmos或OnDrawGizmosSelected里编写,因此我们的第一步便是在脚本中添加这两个函数。...请大家添加如下代码: 回到场景中,看看有什么效果发生。 咦,没有什么事情发生啊!!! 哦,原来是找不到图片资源。如上图所示,这就是为什么文章的开头让大伙们创建 Gizmos 文件夹的原因。...好了,让我们回到 Unity 中,看看发生了什么变化。 Perfect!Persion类中的属性成功的显示在了Inspector面板上。...“Test.cs”脚本,添加如下代码: 现在,让我们回到Unity中查看一下效果: 这...你坑我?

    1.9K22

    项目优化之Canvas优化(Unity3D)

    1.Screen Space Camera 首先,我们创建一个Unity工程,并且进一步的理解它: C#脚本: MoveCamera.cs 在你的Scene视图下创建一个Canvas 设置它的Renderer...里的Search中输入“Canvas”,你将会在Profiler中看到一些Canvas数据。...你可以在上图中看到,有许多与Canvas的函数都被调用了,特别是CanvasRender.OnTransformChanged调用的次数最多 每当相机移动或者旋转,与Canvas相关的函数就会被调用将近...因此,这便导致在Canvas里的UI元素在Unity引擎中必须重新定位,所以UI元素越多,需要消耗的性能就越高。 那么解决方案是什么? 2....如上图所示,Canvas在Unity空间的位置保持不变,相机的移动不会影响Canvas及Canvas里的所有UI元素。

    1.3K20

    Unity3D 入门:最简单的控制视角,以及控制角色前进、转向的脚本

    按下图,在 Unity 编辑器中: 在 Hierarchy(层级)中选中主摄像机; 在 Inspector(检查器)中选择最后那个 Add Component(添加组件); 选择 New Script(...于是可以转到 Visual Studio 中编辑你的脚本文件。 最简代码 在 Visual Studio 中找到我们刚刚创建的 PlayerController 脚本。...Unity 中 C# 脚本要求文件名必须匹配脚本的类名,因此,不要随便尝试改文件名或类名;就算改了,也要同步更新文件名和类名重新匹配,并重新在 Inspector 中添加新名称的脚本。...这里,我们拿到我们需要做变换的 Transform 组件(这里的组件也就是 Unity 编辑器的“检查器”中看到的一个个组件)。...关于在脚本当中公开属性以在编辑器中设置的更多细节,可阅读我的另一篇 Unity3D 入门博客: Unity3D 入门:让 C# 脚本公开可在 Unity 编辑器中设置的属性 - walterlv 可以看以下效果

    1.8K40

    在unity2d同屏显示9千人

    多线程与单线程的自由切换一直是个有趣的话题。 开发人员喜欢在单线程下开发,准确有序不容易出错。 但是他们也舍不得放弃多线程带来的效率提升。 为了提升unity2d的性能限制。...big_rouelike2.png 为什么说单线程,因为只有一个线程处于满负荷的工作状态。...ultimage_rouelike3.png 将游戏分解到不同的线程,看着似乎非常简单。 但99%的游戏厂商都做不到。所以被玩家讥讽为单核游戏。 游戏设计者需要的是简单的技术就可以使游戏丰富多彩。...通过异步消息将这些数据汇总起来就是在unity中看到的世界。pelagia根据使用数据的方式,读写或者逻辑依赖。将数据自动划分为不同的逻辑层,并为每个逻辑层配备消息路由,硬盘读写缓存等组件。...这样就可以快速构建分层的世界。并把每个层放入不同的线程中。这与我们在实践中拆分软件系统所使用的方法是一样的。pelagia仅仅是将这个复杂的过程自动化了。

    78600

    图像伽马校正_自动梯形校正

    大家好,又见面了,我是你们的朋友全栈君。...理论上上边的中灰是物理量上(下边)的21.8%,视觉上认为的美术中灰色,大约是物理中灰色的20% Gamma校正就是一个把物理灰阶映射成美术灰阶的函数 为什么现实中看到的光强度变化是正确的,不能忠实的记录下来显示就行了...中就不需要勾选sRBG选项了; 如果PS中什么都不做设置的话,在Unity中勾选sRGB选项即可。...Document Color Profile PS对于颜色的管理是很精准的,我们在Unity中看到的颜色要经过显示器的gamma变换,而PS中的不会,PS会读取显示器的Color Profile,反向补偿回去...存储的小技巧 在32位通道下完成操作(计算),最后再切换为8位通道保存 半透明效果 Unity中: Unity进行半透明混合时,会先将它们转换到一个线性空间下然后再混合 PS中: PS的图层和图层之间做混合时

    1.5K20

    Unity基础教程系列(新)(一)——游戏对象和脚本(Creating+a+Clock)

    确保它具有与我们的时钟相同的Transform值。 ? ? (GameObject代表一个圆柱体) 为什么我的圆柱体看起来更暗?...C#是用于Unity脚本的编程语言,发音为C-sharp。让我们立即将其放置在新的Scripts文件夹中,以保持项目整洁。 ? ? (Clock脚本) 选择脚本后,检查器将显示其内容。...(非组件脚本) 这意味着我们不能使用此脚本在Unity中创建组件。至此,我们的Clock定义了一种基本的C#对象类型。...(Clock 游戏对象 以及Clock组件) 请注意,我的教程中的大多数代码类型都链接到在线文档。例如,MonoBehaviour是一个链接,可带你进入该类型的Unity在线脚本API页面。...请注意,Awake和其他特殊的Unity事件方法在我的教程中均以粗体显示,并链接到其在线Unity脚本API页面。 3.6 通过代码旋转 要旋转指针,我们需要创建一个新的rotation。

    4.3K20

    【100个 Unity踩坑小知识点】| 在编辑器中绘制正方体虚线、球体虚线(Gizmos 辅助线框)

    初中级Unity读者的完美学习宝典,本书从Unity3D引擎的介绍安装开始,层层深入。包含Unity3D基础和Unity3D脚本开发等几大模块,搭配图文教学使得内容丰富多彩,读后豁然开朗。...同时Unity3D进阶篇的一些内容对中高级开发也有借鉴意义,值得Unity3D开发者阅读!...Unity 踩坑小知识点学习 在编辑器中绘制正方体虚线、球体虚线(Gizmos 辅助线框) 使用Gizmos类可以让我们在Unity中实现一种辅助线框,下面举例几种常用的线框。...更多的API可以来 官方手册关于Gizmos查看 使用Gizmos绘制线框要在下面两个函数中使用: private void OnDrawGizmos() { Debug.Log("持续调用" )...注意:正常情况下只能在Scene中看到线框,在Game视图中要开启Gizmos才可以看到线框 正方体和球体虚线框如下: private void OnDrawGizmos()

    71230

    动画☀️Unity最新程序化动画绑定(Animation Rigging)

    Rigbuilder:与Animator位于同一物体上,利用Animator中的动画生成PlayableGraph并添加到现有的动画状态机上,支持同时添加多个Rigs。...接着来解决一个坑:无法添加TwoBoneIKConstraint脚本 Q1:这时,我们AddComponent,是搜不到TwoBoneIKConstraint的。...A1:我们要先导入约束案例,这里面有该脚本(视频怎么不讲-_-||) 20191121更新: 注意,下面展示的bug,是由于Unity版本不是2019.2.0f1导致的,Unity版本必须在...且还有一个bug,在最下方说明。 Q2:我们导入约束案例了,仍无法添加该脚本。即使看他们的案例,物体上的该脚本仍是报错状态。 A2:打开该脚本时,我们发现提示该脚本是只读状态。...b、将骨骼及控制器配置到TwoBoneIKConstraint里面 视频上说点击骨骼,将骨骼对应的物体这样配置,Tip是Mid的子物体。但没有说为什么这样选。

    12110

    unity3d 入门

    找不到ms-vscode.csharp依赖 unity插件版本太老,可以修改extension目录中的package.json依赖 .vscode\extensions\unity.unity-debug...) 异常捕获 vscode设置常用的nullReference异常,可以在资源为空的地方停止运行 package unity运行错误,提示文件asmdef文件找不到 在package中搜索,找到后双击导入...成员unity editor component可见 GUI,通过unity的Ongui事件函数 UGUI,canvas元素上拖放的gui UWidget,unity插件封装了flutter高效的app...模式配置depth顺序配置渲染先后顺序,depth小的先渲染 脚本OnGUI只能创建,操作在Update中进行 打包 UnityEditor不能在打包项目中使用,否则无法打包 Unity中使用System.IO...中的DirectoryInfo打包会找不到路径 android目录 application.datapath unity的资源目录,权限导致写入数据容易失败 temporaryCachePath 系统临时缓存目录

    2.8K10
    领券