问题标签 [sfml.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.
c# - 如何防止在 RenderWindow 内绘制的图像自动缩放?
我正在使用带有 C# 的 SFML.Net 2.4
我有一个大小为 1000x1000 的 RenderWindow 以这种方式插入到 System.Windows.Forms.Form 中:
在我的绘图功能中,我只是使用精灵绘制图像:
我的问题是,当显示时,这个精灵在默认情况下会采用最大的尺寸(即此处为 1000),而基本图像只有 100 像素高(没有拉伸,但仍然会自动重新缩放)。
我不想自己反转自动缩放...如何保持图像的原始尺寸?
我做了一个测试:为了在 RenderWindow 中正确显示精灵(这次是独立运行,而不是嵌入到 winform 中),我必须按照以下规则应用比例:
我的屏幕尺寸是 1920x1080,因此我必须对精灵应用 (1.92 ; 1.08) 的比例... WTF?
macos - 什么会导致 .NET Core 二进制文件加载本机库,然后引发 DllNotFoundException?
我正在尝试在将游戏移植到 .NET Core 的 MacOS 上运行 SFML.NET 游戏。
我一直无法让 SFML 在运行时正确加载其本机依赖项,因此我设置了一个最小的测试示例来尝试隔离问题,但仍然得到以下错误输出(我已设置DYLD_PRINT_LIBRARIES
):
我试图运行的代码如下:
我在运行目录和可执行 bin 中有相关本机库的副本(这不是永久设置 - 只是在试验时),它似乎尝试按顺序加载两者,然后放弃和卸载它们。
鉴于此,我基本上想知道什么会导致这种情况发生?
我怀疑它可能表明我的库是错误的版本?(我已经尝试过 CSFML 2.2、2.3、2.5,所以为了我的理智,我希望不是这种情况)或者可能缺少它正在尝试但无法加载的依赖项?有什么方法可以从 dyld 中获取更多的调试信息?
我已经尝试过搜索这个,但是很难找到任何有用的资源,所以我会感谢那些更好地理解运行时链接系统的人的指点。
我不完全确定哪些额外信息有助于回答这个问题。我希望有一组特定的、定义明确的场景可以让这种行为浮出水面,我可以应用这些场景来解决我的特定问题。否则,我很乐意提供任何有帮助的其他信息。
我的 .NET Core 版本是 2.2.101
c# - 水獭 - 文本渲染不起作用
我制作了使用 Otter 绘制文本的方法(使用 SFML.NET 的 2D 游戏渲染库)。但方法不正确,文本未呈现。代码:
使用方法:
方法已执行,未抛出异常,但未呈现,我看不到文本。
c# - SFML:保持渲染窗口的部分区域不刷新
我希望获得与 Winforms 中的 GraphicsPath 相同的效果,它允许保持 myForm 的某些特定区域不刷新。菲:
我的最终目标是使用我将提供给外部应用程序的 HDC(设备上下文句柄)在未刷新的位置绘制内容。(这目前使用 winforms 工作)。
我正在使用 SFML.Net 2.4,并以这种方式创建我的窗口:
但是,即使不调用,我仍然可以在 myForm 上创建 HDC:
,外部应用程序绘制的东西仍然是瞬间清除。
c# - SFML Image.Pixels 和 FIle.ReadAllBytes 有什么区别
当我尝试理解 SFML 时,我尝试使用该方法设置一个图标,RenderWindowInstanse.SetIcon()
该方法接受 3 个参数,第一个是大小,3 - byte [],然后我尝试File.ReadAllBytes()
在 c# 中使用和相同的工具,但这不起作用,我搜索并找到像参数一样返回的现场ImageInstanse.Pixels
属性,byte[]
这是可行的,但我不明白为什么它们返回不同的字节数组
c# - 我是否正确声明了这个数组?
我试图将某些内容从 C++ 翻译为 C#,现在翻译已完全完成,但是在编译时出现错误,提示数组索引超出范围,所以我想知道我是否正确声明了数组。
[完整代码]
我在第 88 行遇到了这个错误。
最初这在 C++ 中看起来像这样
我得到的错误字面意思是索引超出范围,在这个 for 循环之后我也遇到了一个异常,说循环下面的每一行都有无法访问的代码
c# - 根据不同的变量放置对象
我正在使用 制作一个游戏库SFML.Net
,我希望能够在屏幕上放置一个 50x50 的图块。
我有窗口宽度、窗口高度、MouseX/MouseY 和基于自定义相机的偏移量。按下 WASD 时,偏移量可能会增加/减少 0.5 个像素。
因此,我需要知道如何获取相对于所有这些变量的 mouseX,这样我就可以放置一个图块,使其错觉是用户按下鼠标的位置。
我已经尝试了下面的代码。
注: Game.Instance.Scenes[Game.Instance.CurrentScene].Camera.Offset
是相机偏移量。
下面这段代码。
注意:这会检测何时按下鼠标左键,然后创建一个 GameObject、MyGO
、 ** 并根据 MouseX/MouseY 和偏移量定位它。另外,RoundTo()
我做了一个简单的扩展方法,允许四舍五入到某个数字。
sfml.net - SFML C# 如何在全屏之间切换?
我想在全屏和窗口模式之间切换。有没有办法在不重新启动整个游戏的情况下做到这一点?