MonoGame.Forms
1.0.0
單體。 Forms是將單體渲染窗口集成到Windows表單項目中的最簡單方法。當您想創建自己的編輯環境時,它應該使您的生活更加輕鬆。
筆記
提示
AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; 。如果要關閉整個應用程序的縮放,則需要添加一個清單文件。 重要的
dotnet add package MonoGame.Forms.DX或使用軟件包管理器dotnet new install MonoGame.Forms.Templatesdotnet new mgf -n MyMonoGameFormsProjectdotnet new mgfn -n MyMonoGameFormsProjectdotnet new mgc -na MyMonoGameControldotnet new mgic -na MyInvalidationControl在單元中,您可以使用SpriteBatch將某個繪製到屏幕上。在單體中,您將執行相同的操作,但是您需要使用EditorService為此。
在monogame.forms.control類中,此服務稱為編輯器。因此,為了向SpriteBatch繪製一些東西,您需要這樣做:
Editor . spriteBatch . DrawString ();讓我們看一下最終的繪製考試課:
using Microsoft . Xna . Framework ;
using MonoGame . Forms . Controls ;
namespace nugetTest
{
public class DrawTest : MonoGameControl
{
string WelcomeMessage = "Hello MonoGame.Forms!" ;
protected override void Initialize ()
{
}
protected override void Update ( GameTime gameTime )
{
}
protected override void Draw ()
{
Editor . spriteBatch . Begin ();
Editor . spriteBatch . DrawString ( Editor . Font , WelcomeMessage , new Vector2 (
( Editor . graphics . Viewport . Width / 2 ) - ( Editor . Font . MeasureString ( WelcomeMessage ). X / 2 ),
( Editor . graphics . Viewport . Height / 2 ) - ( Editor . FontHeight / 2 )),
Color . White );
Editor . spriteBatch . End ();
}
}
}結果:
這幾乎就像在單體製品中一樣!
看看是本倉庫的一部分的nonoGame.forms.smples-project,以了解有關單體的方式的更多信息。
此特定的控制類無需覆蓋update()方法,因為它可以手動更新(由您!)。
您只需要在想在其上看到的每個更改來調用自定義無效Control上的Invalidate()即可。打電話給此後,您的控件將不再消耗CPU功率。在創建紋理和類似內容的預覽控件時,這很棒!
以下是來自Blazor分支的一些示例照片: