草庐IT

xna-math-library

全部标签

c# - 为什么 Math.Exp 在 32 位和 64 位之间给出不同的结果,具有相同的输入,相同的硬件

我将.NET2.0与PlatformTargetx64和x86一起使用。我给Math.Exp相同的输入数字,它在任一平台上返回不同的结果。MSDN说你不能依赖文字/解析的Double在平台之间表示相同的数字,但我认为我在下面使用Int64BitsToDouble避免了这个问题并保证在两个平台上对Math.Exp的输入相同。我的问题是为什么结果不同?我本以为:输入以相同的方式存储(double/64位精度)无论处理器的位数如何,FPU都会执行相同的计算输出以同样的方式存储我知道一般情况下我不应该比较第15/17位之后的float,但我对这里的不一致与在同一硬件上看似相同的操作感到困惑。有

c# - 一些简单的 XNA/HLSL 问题

我最近开始接触HLSL编程,我很好奇我正在做的一些事情实际上是如何工作的。例如,我这里有一个非常简单的着色器,可以将任何蓝绿色像素着色为红色。sampler2DmySampler;float4MyPixelShader(float2texCoords:TEXCOORD0):COLOR{float4Color;Color=tex2D(mySampler,texCoords.xy);if(Color.r==0&&Color.g==1.0&&Color.b==1.0){Color.r=1.0;Color.g=0.5;Color.b=0.5;}returnColor;}techniqueSim

c# - 如何使用Task Parallel Library(TPL)实现重试逻辑

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Retryataskmultipletimesbasedonuserinputincaseofanexceptionintask我正在寻找一种在TPL中实现重试逻辑的方法。我想要一个通用的函数/类,它能够返回一个任务,该任务将执行给定的操作,并且在出现异常的情况下将重试该任务,直到给定的重试次数为止。我尝试使用ContinueWith并在出现异常时让回调创建一个新任务,但它似乎只适用于固定数量的重试。有什么建议吗?privatestaticvoidMain(){TasktaskWithRetry=Create

c# - Xbox360 上的 XNA 和 Linq

请原谅新手问题,但我想知道如果我在我的XNA应用程序中使用了Linq,它仍然可以在Xbox360上运行吗? 最佳答案 是的,Xbox360和Zune的Xna框架支持LINQ。(在$PROGRAM_FILES$\MicrosoftXNA\XNAGameStudio\v3.1\References\Xbox360中查看System.Core.dll) 关于c#-Xbox360上的XNA和Linq,我们在StackOverflow上找到一个类似的问题: https:

c# - 是否可以在未安装 .NET 或 XNA 的情况下运行 XNA 游戏?

我开发了一个XNA游戏,我想向我学校的一些人展示,但不幸的是,学校的计算机没有安装XNA或正确版本的.NET框架。由于它们是学校计算机,我不能只安装它们。我的问题是在没有安装这些的情况下是否可以运行我的游戏。我希望我可以将一些DLL或其他东西复制到我的闪存驱动器或类似的东西上。 最佳答案 否-.NETFramework需要相当复杂的安装。如果不安装适当的框架,您将无法运行XNA游戏。 关于c#-是否可以在未安装.NET或XNA的情况下运行XNA游戏?,我们在StackOverflow上找

c# - 带有 C# .NET 4.5 的 XNA 4.0?

我想使用.NET4.5编写XNA游戏,这样我就可以使用.NET4.0中没有的新功能之一。有什么办法吗?VS2012没有在新项目列表中的任何位置列出XNA。我也看到了这个问题:HowtoinstallXNAgamestudioonVisualStudio2012?但我只是一个爱好者,我无法让xcopy工作(而且我认为我没有游戏工作室,只有框架)。无论如何,我想知道是否有可能在VS2010中改为以.NET4.5为目标。提前致谢。 最佳答案 您可以更改XNA游戏的项目文件,让它使用.Net4.5。打开.csproj文件并更改以下行:v4.

c# - 错误 : A project with an out put type of class library

我试图找出.net并得到这段代码,当我尝试从VS2008运行时它给我这个错误AprojectwithanOutputTypeofClassLibrarycannotbestarteddirectly.Inordertodebugthisproject,addanexecutableprojecttothissolutionwhichreferencestothelibraryproject.Settheexecutableprojectasthestartupproject我正在学习C#,所以不知道该做什么 最佳答案 您不能运行库。

c# - Math.Round 不保留尾随零

我需要将所有值四舍五入到小数点后两位。所以1.401应该四舍五入到1.40,但是Math.Round(value,2)四舍五入到1.4。如何强制尾随零? 最佳答案 1.4与1.40相同-您只是想以不同的方式显示它。调用ToString时使用格式字符串-如value.ToString("0.00") 关于c#-Math.Round不保留尾随零,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

c# - 为什么没有以 int 作为指数的 Math.Pow?

我读到Math.Pow实现非常复杂,无法处理小数幂。当您不需要小数幂时,为什么没有采用int作为指数的版本来制作更快的版本? 最佳答案 因为您只需要将其转换回float以将其乘以底数的对数。nm=em×lnn 关于c#-为什么没有以int作为指数的Math.Pow?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6919059/

c# - cocos2d-xna : sprite is not drawn if using instance of a class inherited from sprite

我有一个基于Cocos2DXNA和MonoGame的游戏项目。我想在CCSprite类中添加一些自定义逻辑,所以我创建了一个继承自CCSprite的类。我添加了一个虚拟自动属性并尝试使用此类,但出于某种原因,作为我的自定义Sprite类实例创建的Sprite未显示在图层上,而作为CCSprite类实例的Sprite完全没问题。代码如下所示:publicclassSprite:CCSprite{publicstringSomeProp{get;set;}}...line1:varmySprite1=newSprite("texture.png");line2:varmySprite1=n