草庐IT

Unity_IL

全部标签

c# - 使用 C# 从 Unity3D 中的输入字段获取文本

我正在尝试使用C#在Unity3D中的inputField中获取文本。我在我的编辑器中放置了一个inputField,重命名并标记为:Username_field。我的问题是:如何在C#脚本中获取InputFieldUsername_field中的文本? 最佳答案 将以下monobehaviour脚本附加到您的InputField游戏对象:publicclasstest:MonoBehaviour{voidStart(){varinput=gameObject.GetComponent();varse=newInputField.S

c# - Unity 2d跳跃脚本

有没有人有一个好的2d游戏unity跳转脚本?我的代码有效,但离跳跃还很远,看起来它在飞。usingUnityEngine;usingSystem.Collections;publicclassmovingplayer:MonoBehaviour{publicVector2speed=newVector2(10,10);privateVector2movement=newVector2(1,1);//UsethisforinitializationvoidStart(){}//UpdateiscalledonceperframevoidUpdate(){floatinputX=Inpu

c# - Unity3d 5 WavePro 动态网格碰撞器

我正在使用Water4Advance在Unity3d5.0中模拟海浪。我用GerstnerDisplace在Runtime中置换了我的飞机。我看到网格是如何变形的,我向它添加了一个MeshCollider,我想在运行时刷新这个碰撞器网格。我使用这个脚本在Unity4.6上工作:MeshCollidercollider=GetComponent();Meshmesh=GetComponent().mesh;collider.sharedMesh=null;collider.sharedMesh=mesh;但现在我只得到了扁平的原始飞机预制件。如何使用置换后的网格更新此MeshCollid

c# - 将 Sprite 对象数组组合成一个 Sprite - Unity

我在Unity中有一组Sprite对象。它们的大小取决于加载的图像。我想像一张平铺map一样将它们并排组合成一个图像。我希望它们的布局就像您正在形成一行图像一样,一个接一个。(注意:不是一个在另一个之上)我怎样才能做到这一点?我合并的原因(仅供那些想知道的人)是因为我使用的是polygon2DCollider。由于并排使用多个碰撞器时会发生一些奇怪的行为,因此我决定在添加一个大型多边形碰撞器之前先合并图像。请注意,这些事情发生在运行时。我不能只创建一个大图像并加载它,因为图像的顺序仅在运行时确定。我希望能得到一些帮助。谢谢。 最佳答案

c# - Unity [UNET] 同步非玩家对象转换不工作

我正在尝试使用UNET在Unity中同步一个非玩家游戏对象的变换。基本上我有一个玩家可以对抗那个对象并移动它,我希望那个对象的转换在服务器和客户端中以相同的方式改变。我遵循了教程https://unity3d.com/learn/tutorials/topics/multiplayer-networking/handling-non-player-objects?playlist=29690并且可以让播放器+子弹示例运行良好。然后我创建了一个新对象,添加了具有本地玩家权限的网络身份和网络转换(更新1秒),创建了一个预制件并将其作为“RegisteredSpawnablePrefab”添

c# - 迭代器 block 在 IL 中生成 try-fault

在尝试使用迭代器block后,我注意到生成的IL代码不是我期望的那样。生成try-faultblock而不是try-finallyblock,这是我从未见过的。我注意到编译器不允许我在“手写”C#中使用fault关键字。两者有区别吗?C#代码:staticIEnumerableReadAllLines(stringfileName){using(varfile=System.IO.File.OpenText(fileName)){strings;while((s=file.ReadLine())!=null){yieldreturns;}}}MSIL代码:.methodprivateh

c# - 配置 Unity 以解析采用修饰依赖项的类型,该依赖项的参数随注入(inject)的类型而变化

这是一个相当直接的装饰器模式场景,复杂的是装饰类型有一个构造函数参数,该参数取决于它被注入(inject)的类型。我有一个这样的界面:interfaceIThing{voidDo();}像这样的实现:classRealThing:IThing{publicRealThing(stringconfiguration){...implementation...}publicvoidDo(){...implementation...}}还有这样的装饰器:classDecoratingThing:IThing{IThing_innerThing;publicDecoratingThing(IT

c# - 动态生成的 IL 中的值类型转换

UpdateOverayearlater,andIfinallyrealizedthecauseofthisbehavior.Essentially,anobjectcan'tbeunboxedtoadifferenttypethanitwasboxedas(evenifthattypecastsorconvertstothedestinationtype),andifyoudon'tknowthecorrecttypeyouhavetodiscoveritsomehow.Theassignmentmaybeperfectlyvalid,butitisnotfeasibleforthi

c# - 为什么局部函数生成的 IL 不同于匿名方法和 Lambda 表达式?

为什么C#7编译器将局部函数转换为其父函数所在的同一类中的方法。而对于匿名方法(和Lambda表达式),编译器会为每个父函数生成一个嵌套类,它将包含所有匿名方法作为实例方法?例如,C#代码(匿名方法):internalclassAnonymousMethod_Example{publicvoidMyFunc(string[]args){varx=5;Actionact=delegate(){Console.WriteLine(x);};act();}}将生成类似于以下内容的IL代码(匿名方法):.classprivateautoansibeforefieldinitAnonymousM

c# - 为什么 IL.Emit 方法要添加额外的 nop 指令?

我有这段代码发出一些IL指令,这些指令在null对象上调用string.IndexOf:MethodBuildermethodBuilder=typeBuilder.DefineMethod("Foo",MethodAttributes.Public,typeof(void),Array.Empty());varmethodInfo=typeof(string).GetMethod("IndexOf",new[]{typeof(char)});ILGeneratorilGenerator=methodBuilder.GetILGenerator();ilGenerator.Emit(O