小编Guy*_*ito的帖子

使正弦波更陡峭?

我写了一个小函数,当我放入一个介于0和1之间的浮点数时,它给出了一个基于正弦波的值.我正在使用它来渲染游戏中的东西.

public static class Utilities 
{
    public static float SineMe(float prop)
    {
        float output = (prop*180f)-90f;

        output = Mathf.Sin(output*Mathf.Deg2Rad);

        output = (output+1f)/2f;

        return output;
    }
}
Run Code Online (Sandbox Code Playgroud)

它工作得很好..但我想知道是否有一种改变正弦波的数学方法,所以我可以让它在中间"更陡"或"更浅"?在下图中,蓝色曲线是正弦波,我想知道我是否可以使它更像绿线.

在此输入图像描述

math trigonometry

14
推荐指数
2
解决办法
4066
查看次数

C#我可以检查IntPtr是否为空?

我的C#类中有一个IntPtr字段.
它包含对C++库中对象的引用.

protected IntPtr ThingPtr;
Run Code Online (Sandbox Code Playgroud)

在某些阶段,我可能会或可能不会初始化它.

ThingPtr = FunctionInMyCplusplusLibrary();
Run Code Online (Sandbox Code Playgroud)

我想知道在这种情况下检查是否为null是有意义的(检查它是否已被初始化)

if(ThingPtr == null)
{
    //Do stuff
}
Run Code Online (Sandbox Code Playgroud)

c# null intptr

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

python,unittest,用命令行参数测试脚本

我编写了一个python脚本,它接受命令行参数并播放一轮Tic Tac Toe.
运行它看起来像这样......

运行ttt o#xo ## x ## x 0 1

如果移动是合法的,那么它将打印新的电路板布局以及是否有人赢得了比赛

我必须使用unittest为它编写测试.我不知道如何使用各种命令行参数测试整个脚本,我看到的所有示例似乎只是测试脚本中的各个函数.脚本也用于argparse解析参数

谢谢!

python parameters unit-testing

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

如何防止在屏幕外绘制XNA组件?

我在XNA做了一场2D比赛.使用可绘制的游戏组件时,哪一个更适合性能?

1.当组件未在屏幕上时,将其从组件列表中删除,并在其屏幕上添加它.

2.当它的屏幕外不运行其绘制功能时(通过使用"清醒"bool字段和绘制函数中的所有内容的if语句)

我现在正在使用方法2,它工作正常.它方便的cus组件的draworder不会改变(如果我删除并重新添加它们,我将需要更多的代码来管理它)事实上它只是发生在我身上,如果它不在组件列表中它不会更新我需要别的东西来跟踪它是否在屏幕上..

此外,我没有配置探测器的视觉工作室的花哨版本,所以我只是问这里人们从他们的经验中思考什么

c# performance xna drawablegamecomponent

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

二进制序列化,IFormatter:每次使用一个新的或在一个字段中存储一个?

在.net C中第一次使用二进制格式#

MSDN的代码是这样的:

 IFormatter formatter = new BinaryFormatter();
 Stream stream = new FileStream("MyFile.lvl", FileMode.Create, FileAccess.Write,FileShare.None);
 formatter.Serialize(stream, Globals.CurrentLevel);
 stream.Close();
Run Code Online (Sandbox Code Playgroud)

只是想知道我应该IFormatter在我的班级中存储一个字段并一遍又一遍地使用它,还是我应该如上所述并在每次保存/加载某些东西时实例化一个新的?

我注意到它不是IDisposable.

.net c# serialization

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

如何将库构建为 .dll 而不是 .lib

我得到了这个 C++ 物理库Liquidfun

他们已经包含了一个用于构建 Windows 库的 Visual Studio 解决方案。当我构建它时,它给了我一个 .lib 但我想要一个 .dll 以便我可以将它与 Unity3d 一起使用。有没有办法在 Visual Studio 中更改项目的构建设置以获取 .dll 而不是 .lib?

编辑:在项目属性中更改它的非常简单的修复实际上对我有用!这可能是由于库本身写得非常好。当我在发布这个问题之前尝试同样的事情时它没有用,但这是由我的 C++ 代码问题引起的

c++ dll visual-studio

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

如何将具有目录结构的文件导入到 Visual Studio 2013

我有一个 C++ 库的源代码(它是 Box2D 的一个版本)
我想将它的一部分添加到一个新项目中并将它构建到一个 .dll

但是,当我将我想要的文件目录添加到新项目时,它会将它们全部添加到项目的根目录中,因此如果包含语句错误,则大多数情况下......例如......

#include <Box2D/Dynamics/b2Body.h>
#include <Box2D/Dynamics/b2Fixture.h>
#include <Box2D/Dynamics/b2World.h>
Run Code Online (Sandbox Code Playgroud)

“Box2D/Dynamics/”部分现在是错误的。
我通过将包含我想要的文件的目录放在新项目目录中来添加新文件,然后单击“显示所有文件”按钮,然后单击文件夹并说“包含在项目中”

这是原始项目(我从中复制文件目录)的样子..
在此处输入图片说明

这是我的新项目的样子。正如您所看到的,整个项目是“平面”的,所有文件都在项目根目录中(尽管在实际项目目录中,子目录结构仍然存在)
在此处输入图片说明

tbh 我一直觉得 Visual Studio 的文件管理方面很奇怪而且令人困惑

visual-studio-2013

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

Unity facebook sdk '没有找到类“com.facebook.FacebookContentProvider”'对此还有更多建议吗?

如何重现此错误...

  • 创建一个新的 Unity 项目。

  • 导入facebook sdk unitypackage

  • 通过 Facebook\Edit Settings 设置您的 Facebook 应用程序 ID

  • 使用 Assets\External dependency manager\Android,按“解决依赖项”,然后按“删除已解析的库”(否则构建将在 gradle 阶段失败)

  • 构建并运行。

  • 当应用程序尝试运行时,我立即在手机上收到错误消息“应用程序已停止工作”,并在日志中看到此错误......

    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.FacebookContentProvider" on path: DexPathList[[zip file "/data/app/com.SandwichGeneration.MakeASquare--nLEHpzOYlwW6XKmGzPfIw==/base.apk"],nativeLibraryDirectories=[/data/app/com.SandwichGeneration.MakeASquare--nLEHpzOYlwW6XKmGzPfIw==/lib/arm64, /data/app/com.SandwichGeneration.MakeASquare--nLEHpzOYlwW6XKmGzPfIw==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
    
    Run Code Online (Sandbox Code Playgroud)

我从这里尝试过的建议修复

  1. 我尝试过旧版或新版 facebook sdks 以及旧版或新版 Unity 的不同组合。

  2. 我尝试过从几台不同的机器构建到不同的 Android 设备。

  3. 我已经删除了 facebook sdk 中包含的外部依赖管理器并使用了这个。为了解决这个问题,我必须在发布设置下的播放器设置中设置一个“自定义 Gradle 属性模板”。

  4. 我在发布设置下的播放器设置中设置了一个自定义 Proguard 文件,并将以下两行添加到该文件中。

    -keep class com.facebook.internal.* {*;}
    -keep class com.facebook.* {*;}
    
    Run Code Online (Sandbox Code Playgroud)

所以我尝试了所有建议的修复方法及其各种组合。我不知道我还能做什么。有人可以建议尝试其他方法吗?

android facebook unity-game-engine

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

C#,. net,通用编程架构.GetType或Enum:哪个更好?

你认为哪个好些..

        if (thing.GetType() == typeof(thisthing))
        {
           //do stuff for this type of thing.
        }
Run Code Online (Sandbox Code Playgroud)

或者给对象一个Enum属性

        if (thing.TypeName == NamesEnum.thisthing)
        {
           //do stuff for this type of thing.
        }
Run Code Online (Sandbox Code Playgroud)

.net c# enums types

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

如何生成钟形曲线.编程中的高斯函数

我希望能够生成一个钟形曲线,用于游戏程序生成中的概率.例如,如果我想生成一个森林,我可以给它一个半径和强度,并制作一个正确形状的钟形曲线,以便给我一个树是否应该被放置的概率.我最终会在中心有很多树木,当你从中心接近半径距离时,它们会变得不那么频繁.

在使用正弦波之前我做过类似的事情.但我不知道如何制作钟形曲线.这些方程对我来说是希腊的.我忘记了如何阅读它们,但无论如何它对计算机来说都是希腊语.

有人可以在C#中记下钟形曲线的等式(或者python会是我的第二选择)并且可能会解释一下吗?

c# math gaussian

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