问题标签 [sdl.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
74 浏览

c# - 添加到列表中的不同对象变得相同

我正在尝试用图形学习 C#,目前使用 sdl.net。我想学习如何在屏幕上创建对象,但在这个疯狂的事情上坚持了三天。谷歌搜索了我能想到的一切,但我自己无法解决这个问题,我正在寻求帮助。

我将示例简化为最低限度。目前,我尝试通过在屏幕上单击鼠标并打印它们的编号来创建一些对象。在创建时,每个对象都有一个数字,我把它放在列表中,然后 foreach 每个对象。

但是当我打印对象列表时,每个对象都变得像最后一个对象,尽管构造函数显示它使用新编号创建了新对象。但是当我迭代列表时,每个对象都有相同的编号。

什么时候应该:

我做错了什么,我错过了什么?(我用 Windows 窗体和按钮尝试了相同的原理,效果很好)

我的简化代码:

0 投票
1 回答
671 浏览

c# - 如何在 sdl.net 中初始化表面变量?

我正在使用 Visual C# 2010 Express 和 SDL.net 图形库。

我尝试使用 SurfaceControl 类在 winform 上绘画,但无法创建一个空表面来绘制。我发现只有一个使用位图的工作示例,尽管在http://cs-sdl.sourceforge.net/apidocs/html/class_sdl_dot_net_1_1_graphics_1_1_surface.html中有这样的方法

我的代码:

也试过:

NullReferenceException 是未处理的对象引用未设置为对象的实例。疑难解答提示:使用“new”关键字创建对象实例..等。

SDl.net 有带有源的示例文件,它使用与我相同的方法来初始化表面变量,但我的抛出异常。找不到使用 SurfaceControl 的示例或教程。任何想法我做错了什么?

还找到了本教程http://www.microbasic.net/2011/08/using-sdl-with-c/ 它使用以下代码:

但是这段代码也抛出了同样的异常。

更多信息:我设法启动了 sdl.net SdlDotNetCDPlayer 示例,令人惊讶的是它抛出了同样的异常!虽然半年前我有这些例子在我的笔记本电脑上工作。

0 投票
1 回答
229 浏览

c# - 为什么一个变量被初始化,而另一个为空?

我不明白为什么一个变量初始化正常而另一个为空,尽管这里描述了这两种方法

表面(System.Drawing.Bitmap 位图)

从 System.Drawing.Bitmap 对象创建一个 SdlImage 实例。从 System.Drawing.Bitmap 对象加载位图,通常从资源中获取。

表面(整数宽度,整数高度)

创建给定宽度和高度的表面。

代码示例:

完整代码:

堆栈跟踪:program.main 上的第 18 行是 Application.Run(new Form1());

错误:

NullReferenceException 是未处理
的对象引用未设置为对象的实例。
疑难解答提示:
使用“new”关键字创建对象实例..等。

我发现了一个更详细的堆栈跟踪:

在此之前我在这里创建了另一个问题,我研究了一些我发现很少的教程和示例,它们也抛出了同样的异常,晚上我会打开我的旧笔记本电脑并检查这些示例是否可以在那里工作,因为我发誓他们做到了。