dir.by  
Программирование, разработка, тестирование
MonoGame - разработка игр на C# для компьютеров (Windows, Linux), телефонов (Android, iOS), игровых консолей (Xbox, PlayStation, Nintendo Switch)
Рисуем прямоугольник в новом MonoGame приложении
  Посмотрели 8703 раз(а)    
 Рисуем прямоугольник в новом MonoGame приложении 
последнее обновление: 16 августа 2023
В Visual Studio в файл Game1.cs добавим C# код
1) в класс Game1 добавим переменную:
Texture2D rectangleBlock;

2) создаем
protected override void LoadContent()
{
...
    rectangleBlock = new Texture2D(GraphicsDevice, 1, 1);
    Microsoft.Xna.Framework.Color xnaColorBorder = new Microsoft.Xna.Framework.Color(128, 128, 128); // default color gray
    rectangleBlock.SetData(new[] { xnaColorBorder });
...
}

3) внутри функции рисуем прямоугольник:
protected override void Draw(GameTime gameTime)
{
...
    spriteBatch.Begin();
    Microsoft.Xna.Framework.Point position = new Microsoft.Xna.Framework.Point(100, 50); // position
    Microsoft.Xna.Framework.Point size = new Microsoft.Xna.Framework.Point(30, 20); // size
    Rectangle rectangle = new Microsoft.Xna.Framework.Rectangle(position, size);
    Microsoft.Xna.Framework.Color color = new Microsoft.Xna.Framework.Color(255, 255, 0);// color yellow
    spriteBatch.Draw(rectangleBlock, rectangle, color);
    spriteBatch.End();

...
}
Весь код
  C#  
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace Game1
{
     /// <summary>
     /// This is the main type for your game.
     /// </summary>
     public class Game1 : Game
     {
          GraphicsDeviceManager graphics;
          SpriteBatch spriteBatch;

          // переменная
          Texture2D rectangleBlock;

          public Game1()
          {
               graphics = new GraphicsDeviceManager(this);
               Content.RootDirectory = "Content";

               graphics.IsFullScreen = true;
               graphics.PreferredBackBufferWidth = 800;
               graphics.PreferredBackBufferHeight = 480;
               graphics.SupportedOrientations = DisplayOrientation.LandscapeLeft | DisplayOrientation.LandscapeRight;
          }

          /// <summary>
          /// Allows the game to perform any initialization it needs to before starting to run.
          /// This is where it can query for any required services and load any non-graphic
          /// related content. Calling base.Initialize will enumerate through any components
          /// and initialize them as well.
          /// </summary>
          protected override void Initialize()
          {
               // TODO: Add your initialization logic here

               base.Initialize();
          }

          /// <summary>
          /// LoadContent will be called once per game and is the place to load
          /// all of your content.
          /// </summary>
          protected override void LoadContent()
          {
               // Create a new SpriteBatch, which can be used to draw textures.
               spriteBatch = new SpriteBatch(GraphicsDevice);

               // создаем элемент
               rectangleBlock = new Texture2D(GraphicsDevice, 1, 1);
               Microsoft.Xna.Framework.Color xnaColorBorder = new Microsoft.Xna.Framework.Color(128, 128, 128); // default color gray
               rectangleBlock.SetData(new[] { xnaColorBorder });
          }

          /// <summary>
          /// UnloadContent will be called once per game and is the place to unload
          /// game-specific content.
          /// </summary>
          protected override void UnloadContent()
          {
               // TODO: Unload any non ContentManager content here
          }

          /// <summary>
          /// Allows the game to run logic such as updating the world,
          /// checking for collisions, gathering input, and playing audio.
          /// </summary>
          /// <param name="gameTime">Provides a snapshot of timing values.</param>
          protected override void Update(GameTime gameTime)
          {
               if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                    Exit();

               // TODO: Add your update logic here

               base.Update(gameTime);
          }

          /// <summary>
          /// This is called when the game should draw itself.
          /// </summary>
          /// <param name="gameTime">Provides a snapshot of timing values.</param>
          protected override void Draw(GameTime gameTime)
          {
               GraphicsDevice.Clear(Color.CornflowerBlue);

               // рисуем текст
               spriteBatch.Begin();
               Microsoft.Xna.Framework.Point position = new Microsoft.Xna.Framework.Point(100, 50); // position
               Microsoft.Xna.Framework.Point size = new Microsoft.Xna.Framework.Point(30, 20); // size
               Rectangle rectangle = new Microsoft.Xna.Framework.Rectangle(position, size);
               Microsoft.Xna.Framework.Color color = new Microsoft.Xna.Framework.Color(255, 255, 0); // color yellow
               spriteBatch.Draw(rectangleBlock, rectangle, color);
               spriteBatch.End();

               base.Draw(gameTime);
          }
     }
}
Запуск приложения
1) Компилирем приложение: Menu → Build → Build Solution (F7)
нет ошибок
2) Запускаем приложение: Menu → Debug → Start Without Debugging (Ctrl + F5)
Работает!
 
← Предыдущая тема
Установка, запуск MonoGame приложения на компьютере c операционной системой iOS (MacOSX) используем Visual Studio
 
Следующая тема →
Добавляем файл png и рисуем картинку в новом MonoGame приложении
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

Экскурсии по Москве Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
  Объявления  
  Объявления  
 
MonoGame
Что такое MonoGame?
Что такое Mono (виртуальная машина для C# в Unix) ?
В чем примущества Monogame?
Как написать игру на MonoGame и скомпилировать на разные платформы: Windows компьютер, macOS компьютер, Android phone, iOS apple phone, Nintendo Switch игровая приставка
Скачиваем и устанавливаем MonoGame
Скачиваем и устанавливаем Microsoft Visual Studio для написания MonoGame игр на компьютере с системой Windows
Открываем Visual Studio (чтобы написать игру используя MonoGame)
Установка MonoGame (скачиваем и устанавливаем) для Windows внутри Visual Studio
Создаем и запускаем MonoGame приложение на компьютере (Windows) в режиме эмулятора Android
Создаем новое MonoGame приложение на компьютере (Windows) в режиме эмулятора Android
Запуск и отладка MonoGame приложения на компьютере(Windows) в режиме эмулятора Android
Запускается старая версия MonoGame приложения в debug в режиме эмулятора Android
Запуск и отладка MonoGame приложения на телефоне через USB
Запуск MonoGame приложения на Android телефоне (создание apk файла)
Android (устанавливаем)
Инсталлирование платформы Android (SDK 7.1.1 API 25) в Visual Studio ...
Создаем Android виртуальное устройство в Visual Studio
Установка, запуск MonoGame приложения на компьютере с системой MacOSX
Установка, запуск MonoGame приложения на компьютере c операционной системой iOS (MacOSX) используем Xamarin Studio
Установка, запуск MonoGame приложения на компьютере c операционной системой iOS (MacOSX) используем Visual Studio
Функциональность MonoGame
Рисуем прямоугольник в новом MonoGame приложении
Добавляем файл png и рисуем картинку в новом MonoGame приложении
Рисуем текст в новом MonoGame приложении
Книги
Книги для изучения MonoGame

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика