我正在使用monogame(使用XNA API接口)来编写我的游戏.到目前为止,它很棒,但我已经遇到了一些应该简单的事情.
我需要画一个2d的正方形.但我只想要边框(没有填充).
我看过很多例子,展示了如何做一个填充的.但没有一个只显示边界.
我想我可以制作一个图像并使用它.但我怀疑它会很好地调整大小.
我的应用为文件添加了一些自定义元数据 我想在Windows资源管理器中显示它,如下所示:
或这个:
有没有办法在.NET中执行此操作?
我需要在行中创建和填充(这个操作有一个词吗?)一个实例List<string[]>
.我怎么做?
我希望能够让用户将文件拖放到我的控制台应用程序窗口,这样他们就不会被迫将文件拖放到应用程序的图标上(或链接,甚至更糟糕的是在控制台中编写命令行).如何获取我放入应用程序窗口的文件路径列表?
在Visual Studio中(如果您使用的是git存储库),可以右键单击已修改的文件,然后选择"与未修改比较".在那里你可以看到一个diff,你可以在其中编辑文件的当前版本.为了澄清:与最新提交相比,您可以在diff视图中编辑源文件中当前未提交的更改.相比之下,比较diff视图中的2个提交仅显示temp文件夹中这些文件的只读副本,您无法编辑这些副本.
但是当你在查看当前版本和一些旧版本之间的差异时(通过选择顶部提交和一个较旧的版本,使用Ctrl-单击并在右键单击菜单中选择"比较提交......"),无法编辑当前版本的文件.
有没有办法在将任何旧版本(不仅仅是前一版本)与当前版本进行比较时,在Visual Studio中的diff视图中编辑当前版本文件?
旁注:开发人员讨厌的一个奇怪的技巧是通过"保持更改"并进行提交重置为所需的旧版本,从而可以"与未修改比较",就好像它是先前的提交一样.但这是hacky和不受欢迎的.
我做了一个拼写错误,Visual Studio没有将其标记为错误:
void Method(Nullable<SpriteFont>? font = null) { }
font
显示为SpriteFont??
输出.我刚刚做了什么?
UPD:对不起,大家,我没有尝试编译它,它只是在我做之前没有显示为错误.不过,看起来像Type??
输出一样奇怪.
此外SpriteFont
已经可以为空了,所以无论如何我都会得到一个错误:(
我正在制作一个XNA游戏,我经常在没有重建整个游戏应用程序的情况下测试无法编辑的内容(编辑和继续不起作用).达到我实际测试的时间可能需要相当长的时间,因为游戏需要加载其资源.
我想做的是能够将资源加载到一些支持应用程序并以某种方式从游戏应用程序访问它们,从而消除了大多数时间重新加载游戏资产的需要.是否有可能在.Net应用程序中,还是我应该知道其他一些方法?
我的XNA游戏在很大程度上依赖于Texture2D
实例,特别是具有多个Dictionary<string, Texture2D>
对象的库类.
我认为我希望能够做的是从游戏应用程序中直接访问支持应用程序中的这些词典.XNA游戏只能针对32位平台,我希望支持应用程序是64位,因此它可以容纳超过1(.5)千兆字节的资源数据(如果可能的话).
在这种情况下,单元测试方法(或任何暗示不使用某些资源)对我来说不起作用,因为我正在开发视觉效果,它涉及我拥有的每一个纹理.
我有以下测试,它使用System.Security.Cryptograph.RSACryptoServiceProvider隔离了我遇到的问题.问题是r.Decrypt抛出异常"密钥不存在".如果我使用privateKeyXml进行加密和解密(而不是在解密时使用publicKeyXml),那么它按预期工作.当然我不想共享私钥,我需要能够使用公钥解密.有谁看到我在这里做错了什么?
[Fact]
public void BasicEncryptDecrypt()
{
var cspParameters = new CspParameters() { Flags = CspProviderFlags.CreateEphemeralKey | CspProviderFlags.NoPrompt };
string privateKeyXml = null;
string publicKeyXml = null;
using(var r = new RSACryptoServiceProvider(2048, cspParameters)){
r.PersistKeyInCsp = false;
privateKeyXml = r.ToXmlString(true);
publicKeyXml = r.ToXmlString(false);
}
byte[] encrypted = null;
string decrypted = null;
using (var r = new RSACryptoServiceProvider(2048, cspParameters))
{
r.FromXmlString(privateKeyXml);
encrypted = r.Encrypt(Encoding.UTF8.GetBytes("foobar"), false);
}
using (var r = new RSACryptoServiceProvider(2048, cspParameters))
{
r.FromXmlString(publicKeyXml);
decrypted = Encoding.UTF8.GetString(r.Decrypt(encrypted, false));
}
Assert.Equal("foobar", decrypted); …
Run Code Online (Sandbox Code Playgroud) 我正在制作一个2D平台游戏并代表我正在使用2D数组的瓦片,这些瓦片是具有位置,类型和各种标志字段的类.当我class
将tile类中的关键字更改为时struct
,加载的地图消耗的内存减少约20%.
我不知道这个动作的正确与否,我只是想知道为什么内存消耗的差异.
编辑:数字为1038 MB,瓦片为类,845 MB为结构(没有大部分游戏数据).