[C#] Hjälp mig med mitt spel!

Permalänk

[C#] Hjälp mig med mitt spel!

Tjenis penis!

Börjat experimentera med XNA, och med WP apps o gud vet vad, men jag behöver hjälp med mitt spel lite.

EDIT:
Jag har gjort om allting totalt!
Projekt Chinese Blood: Shotgun Vengeance!
Du styr din shotgun och ska skjuta ner så många kineser som möjligt innan ammunitionen tar slut! Lite som de där flash spelen då man skjuter ankor, fast med kineser istället. (Man är en Japansk soldat från Andravärldskriget som skjuter ner kineser)

Källkod:

using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; using System.Media; namespace TEST { /// <summary> /// This is the main type for your game /// </summary> public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; private Texture2D _textureOverlay; private Texture2D _sonic; private Vector2 _sonicPosition; private Vector2[] kineserpos = new Vector2[4]; private Texture2D[] kineser = new Texture2D[4]; private SoundEffect Shotgun; KeyboardState OldKeyState; GamePadState OldGamePadState; public SpriteFont font; public SpriteFont font2; public int Score = 0; public int Ammo = 25; private Texture2D _MainMenu; bool meny = true; public Game1() { graphics = new GraphicsDeviceManager(this); graphics.PreferredBackBufferWidth = 1600; graphics.PreferredBackBufferHeight = 900; graphics.IsFullScreen = false; Window.Title = "Chinese Blood: Shotgun Vengeance"; _sonicPosition = new Vector2(400, 500); Content.RootDirectory = "Content"; } /// <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() { Random random = new Random(); font = Content.Load<SpriteFont>("Score"); font2 = Content.Load<SpriteFont>("ENTER"); for (int i = 0; i < kineser.Length; i++) { int x = random.Next(300, 1450); kineser[i] = Content.Load<Texture2D>("CHINESE" + (i + 1)); kineserpos[i] = new Vector2(x, 400); } _sonic = Content.Load<Texture2D>("shotgun"); _textureOverlay = Content.Load<Texture2D>("lice"); Shotgun = Content.Load<SoundEffect>("ShotgunSound2"); _MainMenu = Content.Load<Texture2D>("MainMenu"); // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content to load your game content here } /// <summary> /// UnloadContent will be called once per game and is the place to unload /// all content. /// </summary> protected override void UnloadContent() { _sonic.Dispose(); _textureOverlay.Dispose(); for (int i = 0; i < kineser.Length; i++) { kineser[i].Dispose(); } // 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) { // Allows the game to exit KeyboardState KeyState = Keyboard.GetState(); GamePadState gamepadState = GamePad.GetState(PlayerIndex.One); if (meny == true) { if (KeyState.IsKeyDown(Keys.Enter)&& OldKeyState.IsKeyUp(Keys.Enter)) { Shotgun.Play(); meny = false; } } if (meny == false) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); if (gamepadState.IsButtonDown(Buttons.LeftThumbstickLeft)) _sonicPosition = new Vector2(_sonicPosition.X - 10, _sonicPosition.Y); if (gamepadState.IsButtonDown(Buttons.LeftThumbstickRight)) _sonicPosition = new Vector2(_sonicPosition.X + 10, _sonicPosition.Y); if (gamepadState.IsButtonDown(Buttons.A) && OldGamePadState.IsButtonUp(Buttons.A)) { Shotgun.Play(); Ammo--; } if (KeyState.IsKeyDown(Keys.Left)) _sonicPosition = new Vector2(_sonicPosition.X - 10, _sonicPosition.Y); if (KeyState.IsKeyDown(Keys.Right)) _sonicPosition = new Vector2(_sonicPosition.X + 10, _sonicPosition.Y); if (KeyState.IsKeyDown(Keys.Space) && OldKeyState.IsKeyUp(Keys.Space)) { Shotgun.Play(); Ammo--; } } OldKeyState = KeyState; OldGamePadState = gamepadState; // 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(); if (meny == true) { spriteBatch.Draw(_MainMenu, new Vector2(0f, 0f), Color.White); spriteBatch.DrawString(font2, "Press Enter", new Vector2(400, 450), Color.Red); } if (meny == false) { for (int i = 0; i < kineser.Length; i++) { spriteBatch.Draw(kineser[i], new Rectangle((int)kineserpos[i].X, (int)kineserpos[i].Y, 150, 150), Color.White); } spriteBatch.Draw(_textureOverlay, new Vector2(0f, 0f), Color.White); spriteBatch.Draw(_sonic, _sonicPosition, Color.White); spriteBatch.DrawString(font, "Score: " + Score, new Vector2(0, 0), Color.Black); spriteBatch.DrawString(font, "Ammo: " + Ammo, new Vector2(0, 50), Color.Black); spriteBatch.DrawString(font, "Pre-Alpha", new Vector2(1300, 0), Color.Black); spriteBatch.DrawString(font, "Version 0.1.0.0", new Vector2(1250, 830), Color.Black); // TODO: Add your drawing code here } spriteBatch.End(); base.Draw(gameTime); } } }

Dold text

Ska göras:

  • Poängsystem - Görs just nu. - Väntar på att kollisionssystemet är klart.

  • Ammunitions system - Görs just nu. - Fungerar ej. Läs längre ner.

  • Tidsbegränsning. Spelaren skall bara ha en viss tid på sig att skjuta så många som möjligt.

  • Huvudmeny (Görs allra sist) Försöker just nu, men fattar nada. Hjälp mig! Här försöker jag lära mig :S

  • Highscore (Görs allra sist)

  • Kollisions system (Kineserna dör och försvinner när du träffar dom. OBS! Poängsystemet skall inkluderas här.)

  • Kulor, hagel eller liknande som flyger ut ur pipan? (Overkill?) Försökt, men fattar nada, även lite overkill, kommer kanske fixas, och i så fall sist.

  • Rök runt pipan när man skjuter? (Overkill?)

  • Några sorts gränser så att man inte kan åka utanför skärmen med hagelbössan! Prioriterat

  • Något sorts system så att det spawnar en kines åt taget eller ett par då och då, istället för att de ploppar upp samtidigt.

Problem just nu:

  • Kineserna dyker inte upp!

    protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(); if (meny == true) { spriteBatch.Draw(_MainMenu, new Vector2(0f, 0f), Color.White); spriteBatch.DrawString(font2, "Press Enter", new Vector2(400, 450), Color.Red); } if (meny == false) { for (int i = 0; i < kineser.Length; i++) { spriteBatch.Draw(kineser[i], new Rectangle((int)kineserpos[i].X, (int)kineserpos[i].Y, 150, 150), Color.White); } spriteBatch.Draw(_textureOverlay, new Vector2(0f, 0f), Color.White); spriteBatch.Draw(_sonic, _sonicPosition, Color.White); spriteBatch.DrawString(font, "Score: " + Score, new Vector2(0, 0), Color.Black); spriteBatch.DrawString(font, "Ammo: " + Ammo, new Vector2(0, 50), Color.Black); spriteBatch.DrawString(font, "Pre-Alpha", new Vector2(1300, 0), Color.Black); spriteBatch.DrawString(font, "Version 0.1.0.0", new Vector2(1250, 830), Color.Black); // TODO: Add your drawing code here } spriteBatch.End(); base.Draw(gameTime); } } }

Pre-Alpha Footage (Vet, overkill för ett så litet projekt, men det är ju bara för sakens skull..)

Update 13/10 Version 0.1.0.0:

Längst upp till vänster har vi ammunition och poäng, fungerar inte än.
Och på resten av skärmen så står det lite version siffror och annat trams.

Man styr alltså armen med hagelbrakaren till vänster och höger, och skjuter med mellanslag. Då låter det såhär: KABOM! Och ammunitionen skall minska med ett.
Ifall man lyckas träffa en kines, så ska poängen öka med 50 och ett meddelande som säger "Kill 50+" eller något liknande och/eller ett ljud plingar till.
Just nu så spawnar alla med en random position åt sidorna men samma höjd position. Senare så skall bara ett par stycken dyka upp i taget och dyka upp och man ska försöka skjuta kinesen innan hen försvinner.

Lämna gärna tankar, feedback och alla former utav hjälp som dyker upp i era huvuden

Permalänk
Skrivet av LinusNeuman:

Tjenis penis!

Börjat experimentera med XNA, och med WP apps o gud vet vad, men jag behöver hjälp med mitt spel lite.

Man styr en liten sonic, men jag vill att längst upp till höger så ska det stå hur många ringar man fångat, men det är inte det viktiga, för jag ska göra om programmet så att man styr en hagelsprakare och ska sikta på saker och få poäng.

Alltså, hur gör jag så att det dyker upp random ringar här o där? Och hur gör man så att det dyker upp en text ruta där det står hur mycket poäng man har?

using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace TEST { /// <summary> /// This is the main type for your game /// </summary> public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; private Texture2D _textureOverlay; private Texture2D _sonic; private Vector2 _sonicPosition; public Game1() { graphics = new GraphicsDeviceManager(this); graphics.PreferredBackBufferWidth = 1920; graphics.PreferredBackBufferHeight = 1080; graphics.IsFullScreen = true; Window.Title = "Neumans Test"; _sonicPosition = new Vector2(400, 300); Content.RootDirectory = "Content"; } /// <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() { _sonic = Content.Load<Texture2D>("sonic"); _textureOverlay = Content.Load<Texture2D>("textureOverlay"); // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content to load your game content here } /// <summary> /// UnloadContent will be called once per game and is the place to unload /// all content. /// </summary> protected override void UnloadContent() { _sonic.Dispose(); _textureOverlay.Dispose(); // 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) { // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); MouseState MState = Mouse.GetState(); Vector2 MouseVector = new Vector2(MState.X, MState.Y); Vector2 SonicToMouseVector = -(_sonicPosition - MouseVector); SonicToMouseVector.Normalize(); _sonicPosition += 4 * SonicToMouseVector; // 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(); spriteBatch.Draw(_textureOverlay, new Vector2(0f, 0f), Color.White); spriteBatch.Draw(_sonic, _sonicPosition, Color.White); spriteBatch.End(); // TODO: Add your drawing code here base.Draw(gameTime); } } }

Dold text

För att skriva text så använder du dig av "Spritefonts" (http://rbwhitaker.wikidot.com/drawing-text-with-spritefonts).

För att det ska dyka upp sprites på slumpmässiga platser så får du helt enkelt slumpa fram X och Y värden, och sedan rita ut dem i "draw"-sektionen.

Visa signatur
Permalänk

Ditt spel? Ser mest ut som ett copypaste. Tyckte det kändes konstigt att du hade ett fullt fungerande spel med hade problem med att slumpa fram positioner.

Fråga inte hur man gör en specifik sak, fråga hur man ta reda på det eller gör ett försök och be någon ta en titt. Du lär dig inget av kopiera kod och sedan fråga hur man gör specifika ändringar.
/hate

Skickades från m.sweclockers.com

Permalänk
Skrivet av LeMisanthrope01:

Ditt spel? Ser mest ut som ett copypaste. Tyckte det kändes konstigt att du hade ett fullt fungerande spel med hade problem med att slumpa fram positioner.

Fråga inte hur man gör en specifik sak, fråga hur man ta reda på det eller gör ett försök och be någon ta en titt. Du lär dig inget av kopiera kod och sedan fråga hur man gör specifika ändringar.
/hate

Skickades från m.sweclockers.com

Det mesta av koden är genererat av C#, från deras XNA-bibliotek. Det är så det ser ut från början när man väljer att göra ett nytt "XNA"- projekt.

Visa signatur
Permalänk
Medlem

Pluggar själv C# med XNA, och skulle behöva hjälp med att hitta en guide om hur man animerar bildernas position, alltså om man ska flytta en bild från 1.0 till 0.1 (x,y led) om hur man får uppdate på metoden så att bilden flyttas en 200 gånger till den positionen så det blir en animering... alltså instället för instant flytt så glider den till positionen...

Visa signatur

Chassi:BeQuietDarkBase900Pro PSU:BeQuietDarkPowerPro1000w Moderkort:AsusZ170ProGamingAURA
CPU:i7-6700K 4.2Ghz Kylare:BeQuiet!SilentLoop240mm Ram:Corsair 32GB DDR4 3200MHz Vengeance
GPU:AsusRadeonRX5700XT8GBRogStrixGamingOC SSD:Corsair 2x120GB, M.2 1TB HDD:Seagate/WD->30TB Skärmar:3xBenQ 24" LCD G2450HM, LG 65"UHD65UM7100 OS:W10
Tillbehör:LogitechG915,G915TKL,ProX,G502,MxMaster3,G930,Z906,G510,K350,M705,G440,C922Pro,MionixNaos3200,5000,7200,8200,NaosQG
Mobiler:Xperia 1 III,Xperia1,SonyZ5 🎮 🖥️ ⌨️ 🖱️ 🎧

Permalänk
Skrivet av Extremaz:

Pluggar själv C# med XNA, och skulle behöva hjälp med att hitta en guide om hur man animerar bildernas position, alltså om man ska flytta en bild från 1.0 till 0.1 (x,y led) om hur man får uppdate på metoden så att bilden flyttas en 200 gånger till den positionen så det blir en animering... alltså instället för instant flytt så glider den till positionen...

Du får använda (+=)

Ex, Sprite_position += 5

Spriten kommer då att flyttas som en animering 5 x-led per sekund. (Om jag minns rätt)

EDIT: Om jag förstod rätt..

Visa signatur
Permalänk
Medlem
Skrivet av Kebabhyvlarn:

Du får använda (+=)

Ex, Sprite_position += 5

Spriten kommer då att flyttas som en animering 5 x-led per sekund. (Om jag minns rätt)

EDIT: Om jag förstod rätt..

Hmm, inget som vi har gått igenom men förstår hur du menar, ska testa det! Tack!

Visa signatur

Chassi:BeQuietDarkBase900Pro PSU:BeQuietDarkPowerPro1000w Moderkort:AsusZ170ProGamingAURA
CPU:i7-6700K 4.2Ghz Kylare:BeQuiet!SilentLoop240mm Ram:Corsair 32GB DDR4 3200MHz Vengeance
GPU:AsusRadeonRX5700XT8GBRogStrixGamingOC SSD:Corsair 2x120GB, M.2 1TB HDD:Seagate/WD->30TB Skärmar:3xBenQ 24" LCD G2450HM, LG 65"UHD65UM7100 OS:W10
Tillbehör:LogitechG915,G915TKL,ProX,G502,MxMaster3,G930,Z906,G510,K350,M705,G440,C922Pro,MionixNaos3200,5000,7200,8200,NaosQG
Mobiler:Xperia 1 III,Xperia1,SonyZ5 🎮 🖥️ ⌨️ 🖱️ 🎧

Permalänk
Skrivet av LeMisanthrope01:

Ditt spel? Ser mest ut som ett copypaste. Tyckte det kändes konstigt att du hade ett fullt fungerande spel med hade problem med att slumpa fram positioner.

Fråga inte hur man gör en specifik sak, fråga hur man ta reda på det eller gör ett försök och be någon ta en titt. Du lär dig inget av kopiera kod och sedan fråga hur man gör specifika ändringar.
/hate

Skickades från m.sweclockers.com

Vad snackar du om? Hela grejen med detta är ju att jag ska fråga hur man gör, sedan ska någon svara i tråden och hjälpa mig med att förstå, detta har ingenting med copy-pasting att göra.

Btw, har gjort om mitt spel totalt, man rör ingen liten sonic längre, nu har man en hagelbössa i en hand och siktar på kineser och ska skjuta istället. Jag har lyckats så att den slumpar fram 4 olika positioner för varje kines jag har lagt in i spelet, och sedan kan man skjuta genom att trycka på space, ingenting händer, det kommer ett skjut ljud men ingen kollision alltså att kinesen dör, men på måndag är det programmeringslektion i skolan, då får jag mycket hjälp. Men något jag har tänkt att fixa hemma är att göra någon sorts poäng text uppe i hörnet, och kanske en huvudmeny, annars får det mesta fixas hemma.

Skrivet av Kebabhyvlarn:

För att skriva text så använder du dig av "Spritefonts" (http://rbwhitaker.wikidot.com/drawing-text-with-spritefonts).

För att det ska dyka upp sprites på slumpmässiga platser så får du helt enkelt slumpa fram X och Y värden, och sedan rita ut dem i "draw"-sektionen.

Okej tack, ska kika på poäng rutan idag, men ska nog fixa huvudmeny, träffsystem och resten på programmerings lektionen på måndag då jag kan få mycket hjälp.

Hmm texten funkar inte, den hittar inte fonten, även ifall den finns i Windows. Ska jag lägga in installations filen till ett font i projektet?
Edit: Aha! Nu funkar det, nvm.

Allting verkar fungera som det ska.
Ska göras:
Bilderna försvinner ifall man träffar dom och 50 poäng läggs till. (Dyka upp i mitten av skärmen texten: "Kill +50 Points" eller liknande.
Ammunitions system, man ska bara ha ett antal skott på sig.
Huvudmeny (Det sista som görs).
Highscore (Det sista som görs).
Bara ett par bilder dyker upp i taget istället för att alla dyker upp samtidigt.

Permalänk

Har aldrig använt XNA men måste medge att bilden är imponerande för att vara en absolutnybörjare. För nyfikenhetsskull: får ni lära er i skolan att säga "hen" eller är det något du själv valt att använda?

Skrivet av Kebabhyvlarn:

Det mesta av koden är genererat av C#, från deras XNA-bibliotek. Det är så det ser ut från början när man väljer att göra ett nytt "XNA"- projekt.

Där ser man. Verkar som ett smidigt sätt att leka med datorer om man inte är intresserad av programmering. I stand corrected.

Permalänk
Skrivet av LeMisanthrope01:

Har aldrig använt XNA men måste medge att bilden är imponerande för att vara en absolutnybörjare. För nyfikenhetsskull: får ni lära er i skolan att säga "hen" eller är det något du själv valt att använda?

Jag har valt själv att använda hen, gick i nian när uttrycket hen kom igenom och min Svenska lärare sa ingenting om det, inte vad jag minns i alla fall. Kanske får lära mig det nu i gymnasiet vem vet

Där ser man. Verkar som ett smidigt sätt att leka med datorer om man inte är intresserad av programmering. I stand corrected.

Jajamen!

Permalänk
Medlem

Hej, har ni börjat med klasser ännu?
Annars tycker jag du ska ta en titt på det, finns i stortsätt inga större projekt idagens läge som inte använder sig av det.
Det blir så mycket lättare att utveckla nåt om du vet hur klasser fungerar, sen kan du återanvända saker på ett helt annat sätt.

Du kan börja lätt och göra en "Kines"-klass, där kan du lägga allt möjligt du behöver, position, rotation, sprites, AI, slumpa position, förflyttningar.
Sen när du har lärt dig mer om detta, kan du gå ytterligare ett steg fram och bryta ner saker.
Tex. kan man göra en fysikklass/system där då alla objekt i ditt spel använder sig ut av detta. (Vilket du då kan återanvända till andra spel).
Sen kan du göra olika hanterare, som hanterar olika saker, rita ut objekt, kollisioner, ljud, nätverk, ja allt möjligt.
Så jag tycker ta en titt på klasser/ärv och annat, det kommer ge dig mycket mer.

Nu kanske detta låter som avancerat men det är inte alls så avancerat som det låter.
Behöver du hjälp så är det bara att hojta till, lycka till.

MVH NP^

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770

Permalänk
Skrivet av NoPaiN^:

Hej, har ni börjat med klasser ännu?
Annars tycker jag du ska ta en titt på det, finns i stortsätt inga större projekt idagens läge som inte använder sig av det.
Det blir så mycket lättare att utveckla nåt om du vet hur klasser fungerar, sen kan du återanvända saker på ett helt annat sätt.

Du kan börja lätt och göra en "Kines"-klass, där kan du lägga allt möjligt du behöver, position, rotation, sprites, AI, slumpa position, förflyttningar.
Sen när du har lärt dig mer om detta, kan du gå ytterligare ett steg fram och bryta ner saker.
Tex. kan man göra en fysikklass/system där då alla objekt i ditt spel använder sig ut av detta. (Vilket du då kan återanvända till andra spel).
Sen kan du göra olika hanterare, som hanterar olika saker, rita ut objekt, kollisioner, ljud, nätverk, ja allt möjligt.
Så jag tycker ta en titt på klasser/ärv och annat, det kommer ge dig mycket mer.

Nu kanske detta låter som avancerat men det är inte alls så avancerat som det låter.
Behöver du hjälp så är det bara att hojta till, lycka till.

MVH NP^

Vi har skummat igenom det lite och jag har läst om det on teh interwebz, men jag har inte gjort det än för att jag vill inte kopiera o klistra in kod o göra olika klasser än. Gör det sen. Just nu ska jag fixa ammunition o lite smått o gått, försöker få ihop ett kollisionssystem också, sen när allt e klart, då gör jag lite klasser.

Permalänk
Medlem
Skrivet av LinusNeuman:

Vi har skummat igenom det lite och jag har läst om det on teh interwebz, men jag har inte gjort det än för att jag vill inte kopiera o klistra in kod o göra olika klasser än. Gör det sen. Just nu ska jag fixa ammunition o lite smått o gått, försöker få ihop ett kollisionssystem också, sen när allt e klart, då gör jag lite klasser.

Förstår men det blir bara jobbigare och jobbigare att ändra ju längre du väntar.
Samtidigt kommer du lära dig sååå mycket mer, jag lovar dig.
Det kommer bara bli grötigare och grötigare ju längre fram du kommer.
Sen när du byggt ett par klasser så kan du lätt utveckla ditt spel, kanske andra vapen, olika "banor", andra fiender att skjuta.
Kanske ska det komma fram vänner som du inte ska skjuta som ger minus poäng, ja det kommer alltid upp saker.
Blir så mycket lättare att lägga till och ändra om du har en bra grund.

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770

Permalänk
Medlem
Skrivet av LinusNeuman:

(Man är en Amerikansk soldat från Vietnam kriget som blivit galen och skjuter ner kineser)

Nu får du nog tänka om lite... Senast jag kollade så bodde kineser i Kina och vietnameser i Vietnam (borträknat en och annan immigrant). Känns fel att peka ut kinseser som bad guys av fel anledning. Om du måste ha kineser så rekommenderar jag att du byter ut din amerikanska gubbe mot en japan (då japanerna faktiskt invaderade Kina och dom två inte riktigt gillar varandra).

Annars låter det som ett kul spel!

Permalänk
Skrivet av lordium:

Nu får du nog tänka om lite... Senast jag kollade så bodde kineser i Kina och vietnameser i Vietnam (borträknat en och annan immigrant). Känns fel att peka ut kinseser som bad guys av fel anledning. Om du måste ha kineser så rekommenderar jag att du byter ut din amerikanska gubbe mot en japan (då japanerna faktiskt invaderade Kina och dom två inte riktigt gillar varandra).

Annars låter det som ett kul spel!

Jo jag vet, men han invaderade fel land! Aja, men den "Amerikanske" Gubben får väl va Japansk då.

Permalänk
Skrivet av NoPaiN^:

Förstår men det blir bara jobbigare och jobbigare att ändra ju längre du väntar.
Samtidigt kommer du lära dig sååå mycket mer, jag lovar dig.
Det kommer bara bli grötigare och grötigare ju längre fram du kommer.
Sen när du byggt ett par klasser så kan du lätt utveckla ditt spel, kanske andra vapen, olika "banor", andra fiender att skjuta.
Kanske ska det komma fram vänner som du inte ska skjuta som ger minus poäng, ja det kommer alltid upp saker.
Blir så mycket lättare att lägga till och ändra om du har en bra grund.

Har Studietid i eftermiddag då jag får göra vad jag vill, ska pyssla med det då.

EDIT:
Har pysslat mycket idag och nu har jag skapat en huvudmeny! Woohoo!

Permalänk
Medlem

Tycker du ska försöka lära dig klasser så snabbt som möjligt då det är vesentligt för all programmering, och inte alls för svårt att förstå sig på.

I detta projektet hade jag valt att skapa en klass som heter "Kines".
Du sparar alla kinser i en lista, så att du lätt kan ta bort dom ifall dom är döda.
Kines kommer att ta emot en textur, en storlek i form av Point och en position i form av Point.
I början kan du välja att skapa kineser efter ett visst tidsintervall.

List<Kines> kineser = new List<Kines>(); //Detta skapar en lista av klassen Kines
kineser.Add(new Kines(new Point(random x, random y), new Point(storlek.x, storlek.y), texturförkiner)); // Lägger till en kines i listan

I klassen "Kines" får du sen ha från början 2 stycken metoder och 1 konstruktor.

Point position;
Point size;
Texture2D texture;

Kines(Point p, Point s, Texture2D text)
{
position = p;
size = s;
texture = text;
}
void Update()
{
//Fylls efter behov på vad du vill att den ska göra
};

void Draw(Spritebatch sb)
{
sb.Draw(textur, new Rectangle(position.x, position.y, size.x, size.y), Color.White);
}

Ifall du lyckas få in allt detta i ditt program så kommer du ha en bra grund till ett spel. I och med att listan är dynamisk så kommer du kunna ta bort kineser när dom dör väldigt lätt.
Stavfel och andra fel ursäktas!

Permalänk
Skrivet av EuQ:

Tycker du ska försöka lära dig klasser så snabbt som möjligt då det är vesentligt för all programmering, och inte alls för svårt att förstå sig på.

I detta projektet hade jag valt att skapa en klass som heter "Kines".
Du sparar alla kinser i en lista, så att du lätt kan ta bort dom ifall dom är döda.
Kines kommer att ta emot en textur, en storlek i form av Point och en position i form av Point.
I början kan du välja att skapa kineser efter ett visst tidsintervall.

List<Kines> kineser = new List<Kines>(); //Detta skapar en lista av klassen Kines
kineser.Add(new Kines(new Point(random x, random y), new Point(storlek.x, storlek.y), texturförkiner)); // Lägger till en kines i listan

I klassen "Kines" får du sen ha från början 2 stycken metoder och 1 konstruktor.

Point position;
Point size;
Texture2D texture;

Kines(Point p, Point s, Texture2D text)
{
position = p;
size = s;
texture = text;
}
void Update()
{
//Fylls efter behov på vad du vill att den ska göra
};

void Draw(Spritebatch sb)
{
sb.Draw(textur, new Rectangle(position.x, position.y, size.x, size.y), Color.White);
}

Ifall du lyckas få in allt detta i ditt program så kommer du ha en bra grund till ett spel. I och med att listan är dynamisk så kommer du kunna ta bort kineser när dom dör väldigt lätt.
Stavfel och andra fel ursäktas!

Hmm okej, jag försöker förstå men begriper mig inte riktigt på det..
Jag vet ungefär vad du försöker göra, men texten är inte strukturerad, kan du omsluta koden med BB-koden för kod? [CODE] ? Kan klistra in då och gå djupare in i hur det fungerar, och fråga dig ifall det är något jag inte förstår.

Permalänk
Medlem

using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace Hjälp { class Kines { Point position; Point size; Texture2D texture; public Kines(Point p, Point s, Texture2D t) { this.position = p; this.size = s; this.texture = t; } public void Draw(SpriteBatch sb) { sb.Draw(texture, new Rectangle(position.X, position.Y, size.X, size.Y), Color.White); } public void Update() { } } }

Där har du en start till Kines klassen.
När du sedan vill lägga till nya kineser och rita upp dom på skärmen gör du såhär.

//Dynamisk lista av kinser som skapas i Game1 klassen List<Kines> kineser = new List<Kines>(); //I Update i Game1 för att lägga till kineser i listan kineser.Add(new Kines(new Point(300, 300), new Point(50, 50), kinesTextur)); //I Draw i Game1 för att rita upp dom skriver du for (int i = 0; i < kineser.Count; i++) { kineser[i].Draw(spriteBatch); }

There ya go! Implementerar du detta i ditt program så bör du får resultat rätt så snabbt!

Permalänk
Skrivet av EuQ:

using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace Hjälp { class Kines { Point position; Point size; Texture2D texture; public Kines(Point p, Point s, Texture2D t) { this.position = p; this.size = s; this.texture = t; } public void Draw(SpriteBatch sb) { sb.Draw(texture, new Rectangle(position.X, position.Y, size.X, size.Y), Color.White); } public void Update() { } } }

Där har du en start till Kines klassen.
När du sedan vill lägga till nya kineser och rita upp dom på skärmen gör du såhär.

//Dynamisk lista av kinser som skapas i Game1 klassen List<Kines> kineser = new List<Kines>(); //I Update i Game1 för att lägga till kineser i listan kineser.Add(new Kines(new Point(300, 300), new Point(50, 50), kinesTextur)); //I Draw i Game1 för att rita upp dom skriver du for (int i = 0; i < kineser.Count; i++) { kineser[i].Draw(spriteBatch); }

There ya go! Implementerar du detta i ditt program så bör du får resultat rätt så snabbt!

kinesTextur finns ju inte, ska ja fixa den själv menar du? Och hur?

Permalänk
Medlem

Ja du ska fixa den själv. Precis som du gör med alla andra texturer.

Permalänk
Skrivet av EuQ:

Ja du ska fixa den själv. Precis som du gör med alla andra texturer.

Hmm.. Men jag har 4st kineser, hur ska jag assigna en random kines till din textuvariabel? En Array! Eller? För jag hra redan en array där den läser in texturer till en variabel som heter kineser, ska jag flytta in den i en loadcontent i din klass, eller ska jag använda samma?

Permalänk
Medlem
Skrivet av LinusNeuman:

Hmm.. Men jag har 4st kineser, hur ska jag assigna en random kines till din textuvariabel? En Array! Eller? För jag hra redan en array där den läser in texturer till en variabel som heter kineser, ska jag flytta in den i en loadcontent i din klass, eller ska jag använda samma?

Tjenna!
Ser väldigt kul ut det spelet!
Du kan inte ladda upp spelet som en zip på dropbox eller något så jag kan få kolla på det hur du har byggt upp det också så?
Studerar just nu Spelutveckling på Malmö Högskola och skulle gärna vilja lära mig göra något likande som du har gjort, alltså skjutspel.
Mvh Calle

Visa signatur

Chassi:BeQuietDarkBase900Pro PSU:BeQuietDarkPowerPro1000w Moderkort:AsusZ170ProGamingAURA
CPU:i7-6700K 4.2Ghz Kylare:BeQuiet!SilentLoop240mm Ram:Corsair 32GB DDR4 3200MHz Vengeance
GPU:AsusRadeonRX5700XT8GBRogStrixGamingOC SSD:Corsair 2x120GB, M.2 1TB HDD:Seagate/WD->30TB Skärmar:3xBenQ 24" LCD G2450HM, LG 65"UHD65UM7100 OS:W10
Tillbehör:LogitechG915,G915TKL,ProX,G502,MxMaster3,G930,Z906,G510,K350,M705,G440,C922Pro,MionixNaos3200,5000,7200,8200,NaosQG
Mobiler:Xperia 1 III,Xperia1,SonyZ5 🎮 🖥️ ⌨️ 🖱️ 🎧

Permalänk
Skrivet av Extremaz:

Tjenna!
Ser väldigt kul ut det spelet!
Du kan inte ladda upp spelet som en zip på dropbox eller något så jag kan få kolla på det hur du har byggt upp det också så?
Studerar just nu Spelutveckling på Malmö Högskola och skulle gärna vilja lära mig göra något likande som du har gjort, alltså skjutspel.
Mvh Calle

Jovars! Själv går jag bara på gymnasiet och inte på högskola men visst!

http://www.mediafire.com/?ubmbipm0jkmzz20

Permalänk
Medlem
Skrivet av LinusNeuman:

Jovars! Själv går jag bara på gymnasiet och inte på högskola men visst!

http://www.mediafire.com/?ubmbipm0jkmzz20

Vi har börjat från scratch här så du kan troligtvis mer än mig så :P. Tackar så mycket för spelet, ska gå igenom det och kolla, kanske kan lära mig lite kod.

Visa signatur

Chassi:BeQuietDarkBase900Pro PSU:BeQuietDarkPowerPro1000w Moderkort:AsusZ170ProGamingAURA
CPU:i7-6700K 4.2Ghz Kylare:BeQuiet!SilentLoop240mm Ram:Corsair 32GB DDR4 3200MHz Vengeance
GPU:AsusRadeonRX5700XT8GBRogStrixGamingOC SSD:Corsair 2x120GB, M.2 1TB HDD:Seagate/WD->30TB Skärmar:3xBenQ 24" LCD G2450HM, LG 65"UHD65UM7100 OS:W10
Tillbehör:LogitechG915,G915TKL,ProX,G502,MxMaster3,G930,Z906,G510,K350,M705,G440,C922Pro,MionixNaos3200,5000,7200,8200,NaosQG
Mobiler:Xperia 1 III,Xperia1,SonyZ5 🎮 🖥️ ⌨️ 🖱️ 🎧

Permalänk
Skrivet av Extremaz:

Vi har börjat från scratch här så du kan troligtvis mer än mig så :P. Tackar så mycket för spelet, ska gå igenom det och kolla, kanske kan lära mig lite kod.

Jajamen! Nu är det så att det här spelet är en enda stor gröta, och ibland så har jag inte så förklarande variabel namn, men om det är något du undrar, fråga bara!

Du kan kolla in min andra tråd där jag kodar ett windows phone spel, där kan du lära dig en hel del:
http://www.sweclockers.com/forum/10-programmering-och-digital...

Permalänk
Medlem
Skrivet av LinusNeuman:

Jajamen! Nu är det så att det här spelet är en enda stor gröta, och ibland så har jag inte så förklarande variabel namn, men om det är något du undrar, fråga bara!

Du kan kolla in min andra tråd där jag kodar ett windows phone spel, där kan du lära dig en hel del:
http://www.sweclockers.com/forum/10-programmering-och-digital...

Ja jag märkte att det var lite grötit, men är rätt givande att hitta fel och rensa upp och koda upp men har ju "mallen" nu iallafall så får se om man kanske kan få det klart

Visa signatur

Chassi:BeQuietDarkBase900Pro PSU:BeQuietDarkPowerPro1000w Moderkort:AsusZ170ProGamingAURA
CPU:i7-6700K 4.2Ghz Kylare:BeQuiet!SilentLoop240mm Ram:Corsair 32GB DDR4 3200MHz Vengeance
GPU:AsusRadeonRX5700XT8GBRogStrixGamingOC SSD:Corsair 2x120GB, M.2 1TB HDD:Seagate/WD->30TB Skärmar:3xBenQ 24" LCD G2450HM, LG 65"UHD65UM7100 OS:W10
Tillbehör:LogitechG915,G915TKL,ProX,G502,MxMaster3,G930,Z906,G510,K350,M705,G440,C922Pro,MionixNaos3200,5000,7200,8200,NaosQG
Mobiler:Xperia 1 III,Xperia1,SonyZ5 🎮 🖥️ ⌨️ 🖱️ 🎧

Permalänk
Skrivet av Extremaz:

Ja jag märkte att det var lite grötit, men är rätt givande att hitta fel och rensa upp och koda upp men har ju "mallen" nu iallafall så får se om man kanske kan få det klart

Japp!

Dessutom så "fokuserar" jag just nu på mitt Windows Phone spel, eftersom det är mer seriöst, och när jag blir klar så kan jag publicera det i Windows Phone Market, vilket känns lite som en "dröm" att ha ett eget spel publicerat, vilket känns helt sjukt. Jag är väldigt nära nu, och det känns f*n stört att jag har skapat ett spel.

Om du vill publicera ett Windows Phone spel, eller Xbox Live spel, så behöver du ett App hub konto, vilket du kan få av din skola, eller på CSN (Mecenat) hemsida, jag skaffade via Mecenats hemsida alltså ett DreamSpark konto, vilket du därav får visual studio och App hub konto Lycka till!