Monogame.Forms هي أسهل طريقة لدمج نافذة عرض Monogame في مشروع نماذج 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في Monogame ، يمكنك رسم بعض الشيء على الشاشة باستخدام spriteBatch . في monogame.forms ، ستفعل الشيء نفسه ولكن تحتاج إلى استخدام خدمة 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 ();
}
}
}نتيجة:
إنه يشبه إلى حد كبير في monogame.framework!
ألقِ نظرة على monogame.forms.samples-project ، وهو جزء من هذا الريبو ، لمعرفة المزيد حول كيفية عمل monogame.forms.
لا تحتاج فئة التحكم المحددة هذه إلى تجاوز طريقة التحديث () ، لأنها يتم تحديثها يدويًا (بواسطتك!).
تحتاج ببساطة إلى الاتصال ببطل () على إبطال مخصص لكل تغيير تريد رؤيته عليه. بعد استدعاء هذا ، لم يعد سيطرتك تستهلك قوة وحدة المعالجة المركزية بعد الآن. هذا أمر رائع عند إنشاء عناصر تحكم المعاينة للقوام وأشياء مماثلة!
فيما يلي بعض صور عينة من فرع Blazor: