From 727d3535baa66bf06b0df5c5dbba68c2dfd96ba3 Mon Sep 17 00:00:00 2001 From: 0xdeadbeer <64986162+0xdeadbeer@users.noreply.github.com> Date: Tue, 5 Dec 2023 17:18:36 +0100 Subject: [PATCH] 06: add introduction to monogame --- .gitignore | 1 + .gitmodules | 3 + .imgs/monogame.png | Bin 0 -> 44695 bytes .imgs/opengl.png | Bin 0 -> 95510 bytes .imgs/{icon.png => sdl.png} | Bin 05-opengl/assets/shaders/fragment.glsl | 4 +- 05-opengl/assets/shaders/vertex.glsl | 8 +- 05-opengl/src/game.cpp | 83 +++++++++++---- 05-opengl/src/game.hpp | 12 ++- 05-opengl/src/sprite.cpp | 20 ---- 05-opengl/src/sprite.hpp | 4 - 06-monogame/.gitignore | 43 ++++++++ .../Introduction/.config/dotnet-tools.json | 36 +++++++ 06-monogame/Introduction/Character.cs | 100 ++++++++++++++++++ 06-monogame/Introduction/Content/Content.mgcb | 45 ++++++++ 06-monogame/Introduction/Content/glitch.fx | 47 ++++++++ 06-monogame/Introduction/Content/noise.png | Bin 0 -> 35295 bytes .../Introduction/Content/player_texture.png | Bin 0 -> 39843 bytes 06-monogame/Introduction/Game1.cs | 53 ++++++++++ 06-monogame/Introduction/Icon.bmp | Bin 0 -> 262282 bytes 06-monogame/Introduction/Icon.ico | Bin 0 -> 147541 bytes 06-monogame/Introduction/Introduction.csproj | 29 +++++ 06-monogame/Introduction/Program.cs | 3 + 06-monogame/Introduction/app.manifest | 43 ++++++++ README.md | 4 +- 25 files changed, 483 insertions(+), 55 deletions(-) create mode 100644 .gitmodules create mode 100644 .imgs/monogame.png create mode 100644 .imgs/opengl.png rename .imgs/{icon.png => sdl.png} (100%) create mode 100644 06-monogame/.gitignore create mode 100644 06-monogame/Introduction/.config/dotnet-tools.json create mode 100644 06-monogame/Introduction/Character.cs create mode 100644 06-monogame/Introduction/Content/Content.mgcb create mode 100755 06-monogame/Introduction/Content/glitch.fx create mode 100644 06-monogame/Introduction/Content/noise.png create mode 100644 06-monogame/Introduction/Content/player_texture.png create mode 100644 06-monogame/Introduction/Game1.cs create mode 100644 06-monogame/Introduction/Icon.bmp create mode 100644 06-monogame/Introduction/Icon.ico create mode 100644 06-monogame/Introduction/Introduction.csproj create mode 100644 06-monogame/Introduction/Program.cs create mode 100644 06-monogame/Introduction/app.manifest diff --git a/.gitignore b/.gitignore index 5028678..705b307 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ *.o compile_commands.json .idea/ +bin/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..16e619c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "06-monogame/Introduction/themes/hugo-bearcub"] + path = 06-monogame/Introduction/themes/hugo-bearcub + url = https://github.com/clente/hugo-bearcub diff --git a/.imgs/monogame.png b/.imgs/monogame.png new file mode 100644 index 0000000000000000000000000000000000000000..89a5770174b5644012396979808439408bf39a88 GIT binary patch literal 44695 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 literal 0 HcmV?d00001 diff --git a/.imgs/icon.png b/.imgs/sdl.png similarity index 100% rename from .imgs/icon.png rename to .imgs/sdl.png diff --git a/05-opengl/assets/shaders/fragment.glsl b/05-opengl/assets/shaders/fragment.glsl index fd74ddb..4c59ebf 100644 --- a/05-opengl/assets/shaders/fragment.glsl +++ b/05-opengl/assets/shaders/fragment.glsl @@ -2,10 +2,10 @@ out vec4 color; in vec2 tex_coord; -uniform sampler2D texture1; +uniform sampler2D sampler; void main() { - color = texture(texture1, tex_coord); + color = texture(sampler, tex_coord); // color = vec4(1.0, 0.0, 0.0, 1.0); if (color.a < 0.1) diff --git a/05-opengl/assets/shaders/vertex.glsl b/05-opengl/assets/shaders/vertex.glsl index 0ed2722..e1776fe 100644 --- a/05-opengl/assets/shaders/vertex.glsl +++ b/05-opengl/assets/shaders/vertex.glsl @@ -3,18 +3,12 @@ layout (location = 0) in vec3 pos; layout (location = 1) in vec2 texture_coord; -uniform vec3 size; -uniform ivec3 offset; -uniform mat4 model; uniform mat4 view; uniform mat4 projection; out vec2 tex_coord; void main() { - vec3 new_pos = pos.xyz + offset.xyz; - new_pos = new_pos.xyz * size.xyz; - - gl_Position = projection * view * model * vec4(new_pos.xyz, 1.0); + gl_Position = projection * view * vec4(pos.xyz, 1.0); tex_coord = texture_coord; } diff --git a/05-opengl/src/game.cpp b/05-opengl/src/game.cpp index cce5642..1ce6eb3 100644 --- a/05-opengl/src/game.cpp +++ b/05-opengl/src/game.cpp @@ -13,7 +13,10 @@ Game::Game(GLFWwindow *window) { this->window = window; this->program = Program(); + stbi_set_flip_vertically_on_load(true); + + glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &this->texture_slots); } // code this later lol @@ -41,14 +44,40 @@ int Game::setup(int initial_width, int initial_height) { } glUseProgram(this->program.id); + + glGenVertexArrays(1, &this->vao); + glGenBuffers(1, &this->vbo); + glGenBuffers(1, &this->ebo); + + glBindVertexArray(this->vao); + glBindBuffer(GL_ARRAY_BUFFER, this->vbo); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, this->ebo); + return 0; } void Game::run() { + this->counter = 0; + this->vbo_offset = 0; + this->ebo_offset = 0; + Sprite sprite("assets/player/idle.png", SPLIT_TEXTURE); sprite.bake(); this->sprites.push_back(&sprite); + glBindVertexArray(this->vao); + glBindBuffer(GL_ARRAY_BUFFER, this->vbo); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, this->ebo); + + glBufferData(GL_ARRAY_BUFFER, sizeof(struct vertex) * 4 * this->texture_slots, nullptr, GL_DYNAMIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int) * 6 * this->texture_slots, nullptr, GL_DYNAMIC_DRAW); + + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(struct vertex), (void *) offsetof(vertex, position)); + glEnableVertexAttribArray(0); + + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(struct vertex), (void *) offsetof(vertex, texture)); + glEnableVertexAttribArray(1); + Game::logic(); } @@ -74,8 +103,24 @@ void Game::logic() { glClearColor(0, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT); - for (int i = 0; i < this->sprites.size(); i++) - Game::draw(this->sprites[i]); + + for (int sprite = 0; sprite < this->sprites.size(); sprite++, counter++) { + Game::load(this->sprites[sprite], this->counter); + + std::cout << "Counter: " << counter << " Texture slots: " << this->texture_slots << std::endl; + if (counter > 0 && counter % this->texture_slots == 0) { + Game::draw(); + this->counter = 0; + this->vbo_offset = 0; + this->ebo_offset = 0; + } + + } + + Game::draw(); + this->counter = 0; + this->vbo_offset = 0; + this->ebo_offset = 0; glfwPollEvents(); glfwSwapBuffers(this->window); @@ -84,16 +129,25 @@ void Game::logic() { glBindVertexArray(0); } -void Game::draw(Sprite *sprite) { +void Game::load(Sprite *sprite, int count) { unsigned int program = this->program.id; glUseProgram(program); - glUniform3i(glGetUniformLocation(program, "offset"), sprite->pos.x, sprite->pos.y, sprite->pos.z); - glUniform3f(glGetUniformLocation(program, "size"), sprite->size.x, sprite->size.y, sprite->size.z); - glUniform1i(glGetUniformLocation(program, "texture1"), 0); + glUniform1i(glGetUniformLocation(program, "sampler"), count); - glm::mat4 model = glm::mat4(1.0f); - model = glm::translate(model, glm::vec3(0.0f, 0.0f, 0.0f)); + glBufferSubData(GL_ARRAY_BUFFER, vbo_offset, sizeof(struct vertex) * sprite->vertices.size(), sprite->vertices.data()); + glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, ebo_offset, sizeof(int) * sprite->indices.size(), sprite->indices.data()); + + vbo_offset += sizeof(struct vertex) * sprite->vertices.size(); + ebo_offset += sizeof(int) * sprite->indices.size(); + + glActiveTexture(GL_TEXTURE0 + count); + glBindTexture(GL_TEXTURE_2D, sprite->texture.texture_id); +} + +void Game::draw() { + unsigned int program = this->program.id; + glUseProgram(program); glm::mat4 view = glm::mat4(1.0f); view = glm::translate(view, glm::vec3(0.0f, 0.0f, -3.0f)); @@ -109,19 +163,10 @@ void Game::draw(Sprite *sprite) { projection = glm::ortho(-half_width/100, half_width/100, -half_height/100, half_height/100, 0.1f, 100.0f); - glUniformMatrix4fv(glGetUniformLocation(program, "model"), 1, GL_FALSE, glm::value_ptr(model)); glUniformMatrix4fv(glGetUniformLocation(program,"view"), 1, GL_FALSE, glm::value_ptr(view)); glUniformMatrix4fv(glGetUniformLocation(program, "projection"), 1, GL_FALSE, glm::value_ptr(projection)); - glBindVertexArray(sprite->vao); - glBindBuffer(GL_ARRAY_BUFFER, sprite->vbo); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, sprite->ebo); + glDrawElements(GL_TRIANGLES, this->sprites[0]->indices.size(), GL_UNSIGNED_INT, 0); + std::cout << "Error: " << glGetError() << std::endl; - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(struct vertex) * sprite->vertices.size(), sprite->vertices.data()); - glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, sizeof(int) * sprite->indices.size(), sprite->indices.data()); - - glActiveTexture(GL_TEXTURE0); - glBindTexture(GL_TEXTURE_2D, sprite->texture.texture_id); - - glDrawElements(GL_TRIANGLES, sprite->indices.size(), GL_UNSIGNED_INT, 0); } diff --git a/05-opengl/src/game.hpp b/05-opengl/src/game.hpp index fec1f6e..8c63811 100644 --- a/05-opengl/src/game.hpp +++ b/05-opengl/src/game.hpp @@ -12,15 +12,23 @@ public: int setup(int initial_width, int initial_height); void run(); void logic(); - void draw(Sprite *sprite); + void load(Sprite *sprite, int counter); + void draw(); // callbacks static void input_callback(GLFWwindow *window, int key, int scancode, int action, int mods); static void resize_callback(GLFWwindow *window, int new_width, int new_height); GLFWwindow *window; + Program program; std::vector sprites; - Program program; + int texture_slots; + unsigned int vao; + unsigned int vbo; + unsigned int ebo; + unsigned int counter; + unsigned int vbo_offset; + unsigned int ebo_offset; }; diff --git a/05-opengl/src/sprite.cpp b/05-opengl/src/sprite.cpp index 21892fa..37b3886 100644 --- a/05-opengl/src/sprite.cpp +++ b/05-opengl/src/sprite.cpp @@ -23,10 +23,6 @@ Sprite::Sprite(const char *path, enum TextureType type) : texture(type) { stbi_image_free(image_bytes); - glGenVertexArrays(1, &this->vao); - glGenBuffers(1, &this->vbo); - glGenBuffers(1, &this->ebo); - this->pos = glm::vec3(0.0f); this->size = glm::vec3(1.0f); this->rot = glm::vec3(0.0f); @@ -60,20 +56,4 @@ void Sprite::bake() { v->texture[1] = tex_y; } } - - glBindVertexArray(this->vao); - - glBindBuffer(GL_ARRAY_BUFFER, this->vbo); - glBufferData(GL_ARRAY_BUFFER, this->vertices.size() * sizeof(struct vertex), nullptr, GL_DYNAMIC_DRAW); - - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, this->ebo); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, this->indices.size() * sizeof(int), nullptr, GL_DYNAMIC_DRAW); - - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(struct vertex), (void *) offsetof(vertex, position)); - glEnableVertexAttribArray(0); - - glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(struct vertex), (void *) offsetof(vertex, texture)); - glEnableVertexAttribArray(1); - - glBindVertexArray(0); } diff --git a/05-opengl/src/sprite.hpp b/05-opengl/src/sprite.hpp index dc0c215..bf8f8dc 100644 --- a/05-opengl/src/sprite.hpp +++ b/05-opengl/src/sprite.hpp @@ -22,10 +22,6 @@ public: std::vector vertices; std::vector indices; - unsigned int vao; - unsigned int vbo; - unsigned int ebo; - Game *game; Sprite(const char *path, enum TextureType type); diff --git a/06-monogame/.gitignore b/06-monogame/.gitignore new file mode 100644 index 0000000..bfca666 --- /dev/null +++ b/06-monogame/.gitignore @@ -0,0 +1,43 @@ +*.swp +*.*~ +project.lock.json +.DS_Store +*.pyc +nupkg/ + +# Visual Studio Code +.vscode/ + +# Rider +.idea/ + +# Visual Studio +.vs/ + +# Fleet +.fleet/ + +# Code Rush +.cr/ + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ +[Oo]ut/ +msbuild.log +msbuild.err +msbuild.wrn diff --git a/06-monogame/Introduction/.config/dotnet-tools.json b/06-monogame/Introduction/.config/dotnet-tools.json new file mode 100644 index 0000000..efabe22 --- /dev/null +++ b/06-monogame/Introduction/.config/dotnet-tools.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-mgcb": { + "version": "3.8.1.303", + "commands": [ + "mgcb" + ] + }, + "dotnet-mgcb-editor": { + "version": "3.8.1.303", + "commands": [ + "mgcb-editor" + ] + }, + "dotnet-mgcb-editor-linux": { + "version": "3.8.1.303", + "commands": [ + "mgcb-editor-linux" + ] + }, + "dotnet-mgcb-editor-windows": { + "version": "3.8.1.303", + "commands": [ + "mgcb-editor-windows" + ] + }, + "dotnet-mgcb-editor-mac": { + "version": "3.8.1.303", + "commands": [ + "mgcb-editor-mac" + ] + } + } +} \ No newline at end of file diff --git a/06-monogame/Introduction/Character.cs b/06-monogame/Introduction/Character.cs new file mode 100644 index 0000000..c2c1a35 --- /dev/null +++ b/06-monogame/Introduction/Character.cs @@ -0,0 +1,100 @@ +using System; +using System.Linq; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using Vector2 = Microsoft.Xna.Framework.Vector2; + +namespace Introduction; + +public class Character +{ + public Texture2D texture; + public Texture2D noise; + public Vector2 pos; + public Vector2 scale; + public Vector2 rot; + public float angles; + public float speed; + + private bool glitchEnabled = false; + private Effect glitch; + private float time; + + public void Initialize() + { + speed = 300.0f; + pos = Vector2.Zero; + scale = new Vector2(1f); + rot = Vector2.UnitX; + angles = 0.0f; + } + + public void LoadContent(ContentManager content) + { + texture = content.Load("player_texture"); + noise = content.Load("noise"); + glitch = content.Load("glitch"); + + if (glitch.Parameters["NoiseTexture"] is not null) + glitch.Parameters["NoiseTexture"].SetValue(texture); + + if (glitch.Parameters["textureSize"] is not null) + glitch.Parameters["textureSize"].SetValue(new Vector2(texture.Width, texture.Height)); + } + + public void Update(GameTime gameTime) + { + var kstate = Keyboard.GetState(); + if (kstate.IsKeyDown(Keys.W)) + { + pos.Y -= speed * (float)gameTime.ElapsedGameTime.TotalSeconds; + } + + if (kstate.IsKeyDown(Keys.S)) + { + pos.Y += speed * (float)gameTime.ElapsedGameTime.TotalSeconds; + } + + if (kstate.IsKeyDown(Keys.A)) + { + pos.X -= speed * (float)gameTime.ElapsedGameTime.TotalSeconds; + } + + if (kstate.IsKeyDown(Keys.D)) + { + pos.X += speed * (float)gameTime.ElapsedGameTime.TotalSeconds; + } + + if (kstate.IsKeyDown(Keys.K)) + { + glitchEnabled = !glitchEnabled; + } + + var mstate = Mouse.GetState(); + Vector2 mousePosition = new Vector2(mstate.X, mstate.Y); + Vector2 distancePosition = mousePosition - pos; + + angles = (float) (Math.Atan2(distancePosition.Y, distancePosition.X)); + + time += (float) gameTime.ElapsedGameTime.TotalSeconds; + + if (glitch.Parameters["Time"] is not null) + glitch.Parameters["Time"].SetValue(time); + } + + public void Draw(GameTime gameTime, SpriteBatch spriteBatch) + { + spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend); + Vector2 origin = new Vector2(texture.Width / 2, texture.Height / 2); + + if (glitchEnabled) + glitch.CurrentTechnique.Passes[0].Apply(); + else + time = 0; + + spriteBatch.Draw(texture, pos, null, Color.White, angles, origin, scale, SpriteEffects.None, 0.0f); + spriteBatch.End(); + } +} \ No newline at end of file diff --git a/06-monogame/Introduction/Content/Content.mgcb b/06-monogame/Introduction/Content/Content.mgcb new file mode 100644 index 0000000..90dcd56 --- /dev/null +++ b/06-monogame/Introduction/Content/Content.mgcb @@ -0,0 +1,45 @@ + +#----------------------------- Global Properties ----------------------------# + +/outputDir:bin/$(Platform) +/intermediateDir:obj/$(Platform) +/platform:DesktopGL +/config: +/profile:Reach +/compress:False + +#-------------------------------- References --------------------------------# + + +#---------------------------------- Content ---------------------------------# + +#begin glitch.fx +/importer:EffectImporter +/processor:EffectProcessor +/processorParam:DebugMode=Auto +/build:glitch.fx + +#begin noise.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:noise.png + +#begin player_texture.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:player_texture.png + diff --git a/06-monogame/Introduction/Content/glitch.fx b/06-monogame/Introduction/Content/glitch.fx new file mode 100755 index 0000000..3c09bed --- /dev/null +++ b/06-monogame/Introduction/Content/glitch.fx @@ -0,0 +1,47 @@ +#if OPENGL + #define SV_POSITION POSITION + #define VS_SHADERMODEL vs_3_0 + #define PS_SHADERMODEL ps_3_0 +#else + #define VS_SHADERMODEL vs_4_0_level_9_1 + #define PS_SHADERMODEL ps_4_0_level_9_1 +#endif + +matrix WorldViewProjection; + +sampler s0 : register (s0); +float Time; +float2 textureSize; + +Texture2D NoiseTexture; +sampler2D NoiseSampler = sampler_state +{ + Texture = ; +}; + +float4 MainPS(float2 coords: TEXCOORD0) : COLOR0 +{ + float2 up_limit = float2(0.0, 0.0) + float2(Time, Time); + float2 down_limit = textureSize - float2(Time, Time); + + float4 output_col; + if (coords.x < up_limit.x || coords.y < up_limit.y) { + output_col = float4(0.0, 0.0, 0.0, 0.0); + return output_col; + } + + if (coords.x > down_limit.x || coords.y > down_limit.y) { + output_col = float4(0.0, 0.0, 0.0, 0.0); + return output_col; + } + + return tex2D(s0, coords); +} + +technique BasicColorDrawing +{ + pass P0 + { + PixelShader = compile PS_SHADERMODEL MainPS(); + } +}; \ No newline at end of file diff --git a/06-monogame/Introduction/Content/noise.png b/06-monogame/Introduction/Content/noise.png new file mode 100644 index 0000000000000000000000000000000000000000..aefe249db04bcde4133b0625e5ce4a896f196a5a GIT binary patch literal 35295 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 literal 0 HcmV?d00001 diff --git a/06-monogame/Introduction/Content/player_texture.png b/06-monogame/Introduction/Content/player_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2de9a24b6c6d13af12156144f273003b952f3a GIT binary patch literal 39843 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%0AB4{O9c0^(G= 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

F(_AR>?V@{SG(y-O#Uw*|@(?aZ+`y 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%0DQL3PGoNYd^AI+ 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 literal 0 HcmV?d00001 diff --git a/06-monogame/Introduction/Game1.cs b/06-monogame/Introduction/Game1.cs new file mode 100644 index 0000000..fd67519 --- /dev/null +++ b/06-monogame/Introduction/Game1.cs @@ -0,0 +1,53 @@ +using System.Data; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace Introduction; + +public class Game1 : Game +{ + private GraphicsDeviceManager _graphics; + private SpriteBatch _spriteBatch; + private Character player; + + public Game1() + { + _graphics = new GraphicsDeviceManager(this); + Content.RootDirectory = "Content"; + IsMouseVisible = true; + player = new Character(); + } + + protected override void Initialize() + { + player.Initialize(); + + base.Initialize(); + } + + protected override void LoadContent() + { + _spriteBatch = new SpriteBatch(GraphicsDevice); + player.LoadContent(Content); + } + + protected override void Update(GameTime gameTime) + { + if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) + Exit(); + + player.Update(gameTime); + + base.Update(gameTime); + } + + protected override void Draw(GameTime gameTime) + { + GraphicsDevice.Clear(Color.CornflowerBlue); + + player.Draw(gameTime, _spriteBatch); + + base.Draw(gameTime); + } +} diff --git a/06-monogame/Introduction/Icon.bmp b/06-monogame/Introduction/Icon.bmp new file mode 100644 index 0000000000000000000000000000000000000000..2b481653e241818d2894e4ef33234eaff9aad701 GIT binary patch literal 262282 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 RJoIeLznU7AhJ`o~_y6Yy51#-4 literal 0 HcmV?d00001 diff --git a/06-monogame/Introduction/Introduction.csproj b/06-monogame/Introduction/Introduction.csproj new file mode 100644 index 0000000..a7fb71d --- /dev/null +++ b/06-monogame/Introduction/Introduction.csproj @@ -0,0 +1,29 @@ + + + WinExe + net6.0 + Major + false + false + + + app.manifest + Icon.ico + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/06-monogame/Introduction/Program.cs b/06-monogame/Introduction/Program.cs new file mode 100644 index 0000000..746e1a8 --- /dev/null +++ b/06-monogame/Introduction/Program.cs @@ -0,0 +1,3 @@ + +using var game = new Introduction.Game1(); +game.Run(); diff --git a/06-monogame/Introduction/app.manifest b/06-monogame/Introduction/app.manifest new file mode 100644 index 0000000..556a3d3 --- /dev/null +++ b/06-monogame/Introduction/app.manifest @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true/pm + permonitorv2,permonitor + + + + diff --git a/README.md b/README.md index 444432d..8796f44 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@

- + + +

# Graphics