小编Mad*_*nyo的帖子

使用哪种数据类型?CPU如何读取它们?

让我们从小开始,说我需要存储一个200的const值,我应该总是使用无符号字节吗?

我想这只是一件小事.但是结构呢?构建我的结构是否明智,以便32位系统上的32可以分割?假设我需要遍历一个非常大的结构数组,如果结构由34位或64位组成,那么它是否重要?如果我能从34位结构中挤出2位,我认为它会获得很多收益?

或者所有这些都会产生不必要的开销,我最好将所有的位和短路替换为此结构中的整数,这样CPU就不必"寻找"正确的内存块了吗?

c#

4
推荐指数
1
解决办法
196
查看次数

TreeMap 获取第一个元素并删除

我需要从TreeMap. 但是除非我忽略某些东西,否则无法立即执行此操作。

removedValue = treeList.remove(treeList.firstEntry().getValue());
Run Code Online (Sandbox Code Playgroud)

那条线必须两次访问地图,但这似乎是要走的路。我认为它不会有太大的不同,因为在添加某些内容时地图会进行排序,但我希望它具有功能。

java dictionary data-structures

3
推荐指数
1
解决办法
2710
查看次数

无法从 Visual Studio 向项目添加基本类

我曾经能够在我的 Unity 解决方案中从 Visual Studio 添加基本的空类。但该选项甚至不再出现。不久前我更新到了 VS2017,也许这就是问题所在,或者现在更新的 Unity 与 VS 集成“更好”。我总是可以从 unity 添加一个 C# 脚本,但我喜欢从 VS 添加类,如果我能恢复那个选项,我会很高兴。

无法添加基本项目类型

ide unity-game-engine visual-studio unity5 visual-studio-2017

3
推荐指数
1
解决办法
3102
查看次数

LibGDX Multiply Vector2具有浮点值

有没有办法将Vector2与浮点值相乘?我曾经在XNA中这样做,通过将标准化方向向量乘以速度浮点数来计算运动.这几乎是我的代码中使事情有效的最后一步,但对于接受浮点值的Vector2似乎没有多重函数.我可以手动调整x和y,但应该有一个我不知道的方法.

java vector libgdx

2
推荐指数
1
解决办法
1666
查看次数

Unity webplayer与UI文本崩溃(新的画布文本)

我刚刚完成了太空射击教程,因为没有GUIText对象我创建了UI.Text对象而是相应编码.它适用于统一播放器,但不适用于构建Web应用程序之后.我花了一段时间来确定这个错误,但是当我完全不知所措UI.Text并重建时,我得到了它的工作.

Web播放器显示:内容已停止,因为检测到致命内容错误.然后是崩溃报告.

有没有解决这个问题?或者也许是使用文本的临时解决方法?

unity-game-engine unity-web-player

2
推荐指数
1
解决办法
1760
查看次数

Visual Studio 未在解决方案资源管理器中显示我的 .aspx 文件

我在项目根目录中有一个index.aspx,但解决方案资源管理器没有显示该文件。

我首先从一个 html 文件开始,然后我想将其转换为 ASP 文件。所以我按下 save index.html as... 并选择 index.aspx 作为新文件名。但是后来我在编辑 index.aspx 时开始出现错误窗口。我注意到 index.html 仍然在解决方案的根目录中,但没有显示在 VS-2013 解决方案资源管理器中。所以我想我摆脱了解决方案资源管理器中的 index.aspx 但两个文件都从我的磁盘中消失了。我以某种方式设法检索了 index.aspx,但无法在解决方案资源管理器中获取它。当我手动打开文件时,错误窗口消失了,但我担心我可能会通过在解决方案资源管理器中删除它来破坏程序中我不知道的链接。

- 编辑 - 我可以创建一个新的 webforms 文件并复制内容,但上述问题感觉奇怪且出乎意料。我喜欢澄清。

asp.net visual-studio-2013

2
推荐指数
1
解决办法
3147
查看次数

libGDX 3D阴影瑕疵

我有一些libgdx 3d阴影的麻烦.在我的游戏中,我实现了实验性DirectionalShadowLight.一切都在桌面上运行良好但是当我在android上运行时,地面上有很多文物.

图片(左 - 右,桌面):

我几乎直接从libgdx的github存储库中的测试中获取了渲染代码.

    Gdx.gl.glClearColor(ExtendedEnvironment.FarBackgroundColor.r,ExtendedEnvironment.FarBackgroundColor.g,ExtendedEnvironment.FarBackgroundColor.b,1);
    Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

    terrain.prepareForShadows();

    environment.shadowLight.begin(new Vector3(cam.position.x+10,0,0), cam.direction);
    shadowBatch.begin(environment.shadowLight.getCamera());

    ball.draw(shadowBatch, null);
    terrain.draw(shadowBatch, null);

    shadowBatch.end();
    environment.shadowLight.end();

    terrain.recoverFromShadows(ball.getPosition().x);
Run Code Online (Sandbox Code Playgroud)

对它来说并不多.另外考虑到它在桌面上运行我会认为影子实现本身有问题.有什么办法可以解决这个问题吗?考虑到我的生活中从未触及过着色器.一些简单的黑客可能吗?如果没有,也许有人可以为libgdx推荐其他工作影子实现?

谢谢.

编辑:附加代码:

BlendingAttribute  blendAttribute = new BlendingAttribute(1f)
IntAttribute intAttribute = IntAttribute.createCullFace(GL20.GL_FRONT);


 public void prepareForShadows(){

    batchedCubesInstance.materials.first().remove(blendAttribute.type);
    batchedCubesInstance.materials.first().remove(intAttribute.type);


}

public void recoverFromShadows(float posX){

    batchedCubesInstance.materials.first().set(blendAttribute);
    batchedCubesInstance.materials.first().set(intAttribute);

}

    //creating the batchedMesh:

    ModelBuilder builder = new ModelBuilder();
    builder.begin();
    MeshPartBuilder mpb = builder.part("cubes", GL20.GL_TRIANGLES, (Usage.Position | Usage.Normal | Usage.Color), new Material(
            IntAttribute.createCullFace(GL20.GL_FRONT),//For some reason, libgdx ModelBuilder makes boxes with …
Run Code Online (Sandbox Code Playgroud)

java api 3d shadows libgdx

1
推荐指数
1
解决办法
1626
查看次数

运行新代码会运行旧代码吗?

无论如何,无论我添加到程序中的代码如何,它都不会在我的android设备上运行。它只是运行我的旧代码。

  • 我一直在从应用程序管理器中的手机中删除我的应用程序。
  • 如果我添加新功能或更改功能,则旧代码仍将运行。
  • 我什至删除了应该抹杀功能的完整代码块。但是以某种方式,所有旧功能在重新安装后仍保留在应用程序中。

一个简单的例子:在TextButton上单击,我将一些UI元素移动200。这很好用。当我删除完整的按钮侦听器时,它仍然可以正常运行,但是我猜完全是因为代码应该消失了。

  • 我尝试重新启动Eclipse时没有运气。

这件事使我发疯。我在一些简单的代码上呆了几个小时,并对为什么它无法运行感到困惑。然后,我发现我的日志未显示在logcat中。不知何故,有时它确实会将新代码更新到设备中,因为现在我有设备恢复登录信息,但至少在30分钟前删除了它,现在它仍显示在我的logcat中。

桌面应用程序可以正常工作。我某种程度上感觉到这件事发生的时间,随着时间的推移,情况变得更糟,直到现在我再也无法测试任何东西了。

因此要明确:

  • 我将代码添加到我的应用中。
  • 从eclipse作为Android应用程序运行
  • 没有变化显示
  • 使用手机应用程序管理器从手机中删除应用程序
  • 删除一个完整的代码块,例如show()保持我完整阶段的方法
  • 从eclipse作为Android应用程序运行
  • App仍可以按原样运行,并且运行完整。

-编辑-

现在,我有一段时间没有对代码做任何事情并运行它。现在,它可能使用了带有空show()方法的版本代码。但是,目前这已经被撤销。月食会叠加运行吗?

java eclipse android libgdx

1
推荐指数
1
解决办法
2615
查看次数

如果object2 = object1,则引用equals返回false

我有这段代码:

Rect a = new Rect(0, 0, 4, 4);
Rect b = new Rect(0, 0, 4, 4);
print(Object.ReferenceEquals(a, b)); //prints false
print(Object.ReferenceEquals(a, a)); //prints false
b = a;
print(Object.ReferenceEquals(a, b)); //prints false
Run Code Online (Sandbox Code Playgroud)

我希望能够确定引用是否是内存中的同一对象,因此对该对象的引用相同.因此第一次打印应该返回false,第二次打印应该返回true.该Rect是Unity引擎,但我可以在我自己的类包装,并覆盖equals如果需要做.然而,我希望第6行打印,true因为它a = b会将两个变量指向相同的参考.

c# equality

1
推荐指数
1
解决办法
119
查看次数

为preg_split创建多个定界符REGEX

我需要用不同的分隔符在多个文件中分割多行。我认为preg_split应该可以完成这项工作,但我从未使用过PCRE REGEX的东西。我也可以将所有定界符更改为一致,但这会增加不必要的计算。

问:我的定界符由(,)(;)(|)(space)组成,我很好奇如何构建这样的REGEX。

php regex pcre delimiter

0
推荐指数
1
解决办法
4180
查看次数

Java中的字段默认是私有的吗?

为什么我看到那么多的例子在字段前键入private,而默认情况下afaik字段是私有的.

private int number;
int number;
//Both of these are the same afaik. Yet, in a ton of examples private gets fully written, why?
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
2
解决办法
3226
查看次数