gpt4 book ai didi

c# - 为什么这段代码没有正确执行(视频)?

转载 作者:太空狗 更新时间:2023-10-29 18:23:11 25 4
gpt4 key购买 nike

我正在使用 Unity (3.4) Monodevelop (2.4.2),当我在调试器中单步执行代码时,它没有正确执行代码。这是显示它的视频的链接,请以 720p 运行它并全屏显示...

http://www.youtube.com/watch?v=LGN7kxMUqjA

另外,这里有一些屏幕截图显示当我将鼠标悬停在变量上时调试器显示非常奇怪的值。这是它在第一个 if block 中正确显示 xSectionPixel 的值时的样子... enter image description here这是它在第二个 if block 中错误显示 xSectionPixel 的值时的样子... enter image description here
这也是它开始错误执行代码的代码行。

什么会导致这种情况?

我已经尝试重新安装这些工具,使用存储库中代码的全新副本,我什至将其全部设置在具有不同操作系统 (Win 7) 的不同计算机上,并且它总是做同样的事情。这是否意味着它必须是我的代码?

还值得注意的是,我正在使用 SVN 从存储库中推送/拉取代码,并且我的本地副本存在于我的 Dropbox 文件夹中。

非常感谢您的智慧!如果您能发现任何可能破坏事物的东西(即我使用 float 和整数的方式可能?),这也是代码?

Vector2 textureCoordToHexGridCoord(int textX, int textY)
{
Vector2 hexGridCoord = new Vector2();
float m = hexH / hexR;

int xsection = (int)(textX / (hexH + hexS));
int ysection = (int)(textY / (2 * hexR));

int xSectionPixel = (int)(textX - xsection * (hexH + hexS));
int ySectionPixel = (int)(textY - ysection * (2 * hexR));

//A Section
if(xsection % 2 == 0)
{
hexGridCoord.x = xsection;
hexGridCoord.y = ysection;

if(xSectionPixel < (hexH - ySectionPixel * m))
{
hexGridCoord.x--;
hexGridCoord.y--;
}

if(xSectionPixel < (-hexH + ySectionPixel * m))
{
hexGridCoord.x--;
}
}

//B Section
else
{
if(xSectionPixel >= hexR)
{
if(ySectionPixel < (2 * hexH - xSectionPixel * m))
{
hexGridCoord.x = xsection - 1;
hexGridCoord.y = ysection - 1;
}
else
{
hexGridCoord.x = xsection;
//hexGridCoord.y = ysection;
hexGridCoord.y = ysection - 1;
}
}

if(xSectionPixel < hexR)
{
if(ySectionPixel < (xSectionPixel * m))
{
hexGridCoord.x = xsection;
//hexGridCoord.y = ysection - 1;
hexGridCoord.y = ysection;
}
else
{
hexGridCoord.x = xsection - 1;
hexGridCoord.y = ysection;
}
}
}

return hexGridCoord;
}

最佳答案

我对您使用的框架没有具体经验,但我对调试器有很多经验。您看到的调试器行为可能发生在两种情况之一(我能想到...)

  1. 符号文件和执行代码与您的源代码不同步,通常 IDE 应该检测到这一点,但在某些情况下检测不到,解决方案是删除所有二进制文件,重新编译并重试。

  2. 调试器或调试器扩展中的错误(用于在您所在的特定环境中进行调试,即 unity/monodevelop)。

如果您无法解决它,我会在您的代码中添加日志记录,并使用它来真正了解发生了什么。

关于c# - 为什么这段代码没有正确执行(视频)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8365534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com