Inlägg

Inlägg som E_maN har skrivit i forumet
Av E_maN
Skrivet av LinusNeuman:

Det kan faktiskt stämma, men vad vet jag inte. Problemet är att jag inte har någon riktig collision, den enda collisionen jag har nu är en massa if satser som kollar ifall fingret trycks ner på en viss position, för då ska den göra en viss sak. T.ex. Ifall man trycker ner fingret på samma position på samma position som skjut-knappen är på, då ska den skjuta.
Det här är hela min update, för jag tror att det är den som är oeffektiv och boven i det hela:

protected override void Update(GameTime gameTime) { // Allows the game to Pause if (Meny == true) { if (MenuMusicPause == true) { MediaPlayer.Stop(); } if (MenuMusicStart == true) { MediaPlayer.Play(MenuMusic); MenuMusicStart = false; } } if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { if (manager.IsRunning) { XLiveFormFactory.Factory.ShowForm("Pause"); } } if (Meny == true) { while (TouchPanel.IsGestureAvailable) { GestureSample gestureSample = TouchPanel.ReadGesture(); if (gestureSample.GestureType == GestureType.Tap) { Vector2 touchPosition = gestureSample.Position; if (touchPosition.X >= PlayPosition.X && touchPosition.X < PlayPosition.X + PlaySize.X && touchPosition.Y >= PlayPosition.Y && touchPosition.Y < PlayPosition.Y + PlaySize.Y) { Meny = false; ChooseDiff = true; MenuSound.Play(); } if (touchPosition.X >= SettingsPosition.X && touchPosition.X < SettingsPosition.X + SettingsSize.X && touchPosition.Y >= SettingsPosition.Y && touchPosition.Y < SettingsPosition.Y + SettingsSize.Y) { Meny = false; Settings1 = true; MenuSound.Play(); } if (touchPosition.X >= CreditsPosition.X && touchPosition.X < CreditsPosition.X + CreditsSize.X && touchPosition.Y >= CreditsPosition.Y && touchPosition.Y < CreditsPosition.Y + CreditsSize.Y) { Meny = false; Credits = true; MenuSound.Play(); } if (touchPosition.X >= FacebookPos.X && touchPosition.X < FacebookPos.X + FacebookSize.X && touchPosition.Y >= FacebookPos.Y && touchPosition.Y < FacebookPos.Y + FacebookSize.Y) { WebBrowserTask browser = new WebBrowserTask(); browser.URL = "http://www.facebook.com/LinusNeuman"; browser.Show(); MenuSound.Play(); } if (touchPosition.X >= TwitterPos.X && touchPosition.X < TwitterPos.X + TwitterSize.X && touchPosition.Y >= TwitterPos.Y && touchPosition.Y < TwitterPos.Y + TwitterSize.Y) { WebBrowserTask browser = new WebBrowserTask(); browser.URL = "https://twitter.com/FindusN"; browser.Show(); MenuSound.Play(); } if (touchPosition.X >= Live1Pos.X && touchPosition.X < Live1Pos.X + Live1Size.X && touchPosition.Y >= Live1Pos.Y && touchPosition.Y < Live1Pos.Y + Live1Size.Y) { MenuSound.Play(); OpenXLive.Forms.XLiveFormFactory.Factory.ShowForm("Lobby"); } } } } if (ChooseDiff == true) { while (TouchPanel.IsGestureAvailable) { GestureSample gestureSample = TouchPanel.ReadGesture(); if (gestureSample.GestureType == GestureType.Tap) { Vector2 touchPosition = gestureSample.Position; if (touchPosition.X >= EasyPos.X && touchPosition.X < EasyPos.X + EasySize.X && touchPosition.Y >= EasyPos.Y && touchPosition.Y < EasyPos.Y + EasySize.Y) { ChooseDiff = false; difficulty = "Easy"; EasyGamemode = true; lvl = 1; InGame = true; MenuMusicPause = true; MenuMusicStart = false; StartPlaying = true; MenuSound.Play(); } if (touchPosition.X >= NormalPos.X && touchPosition.X < NormalPos.X + NormalSize.X && touchPosition.Y >= NormalPos.Y && touchPosition.Y < NormalPos.Y + NormalSize.Y) { ChooseDiff = false; difficulty = "Normal"; NormalGamemode = true; lvl = 2; InGame = true; MenuMusicPause = true; MenuMusicStart = false; StartPlaying = true; MenuSound.Play(); } if (touchPosition.X >= HardPos.X && touchPosition.X < HardPos.X + HardSize.X && touchPosition.Y >= HardPos.Y && touchPosition.Y < HardPos.Y + HardSize.Y) { ChooseDiff = false; difficulty = "Hard"; HardGamemode = true; lvl = 3; InGame = true; MenuMusicPause = true; MenuMusicStart = false; StartPlaying = true; MenuSound.Play(); } if (touchPosition.X >= ImpossiblePos.X && touchPosition.X < ImpossiblePos.X + ImpossibleSize.X && touchPosition.Y >= ImpossiblePos.Y && touchPosition.Y < ImpossiblePos.Y + ImpossibleSize.Y) { ChooseDiff = false; difficulty = "Impossible"; ImpossibleGamemode = true; lvl = 4; InGame = true; MenuMusicPause = true; MenuMusicStart = false; StartPlaying = true; MenuSound.Play(); } if (touchPosition.X >= BackPosition.X && touchPosition.X < BackPosition.X + BackSize.X && touchPosition.Y >= BackPosition.Y && touchPosition.Y < BackPosition.Y + BackSize.Y) { ChooseDiff = false; Meny = true; MenuSound.Play(); } } } } if (Credits == true) { while (TouchPanel.IsGestureAvailable) { GestureSample gestureSample = TouchPanel.ReadGesture(); if (gestureSample.GestureType == GestureType.Tap) { Vector2 touchPosition = gestureSample.Position; if (touchPosition.X >= BackPosition.X && touchPosition.X < BackPosition.X + BackSize.X && touchPosition.Y >= BackPosition.Y && touchPosition.Y < BackPosition.Y + BackSize.Y) { Credits = false; Meny = true; MenuSound.Play(); } } } } if (Settings1 == true) { while (TouchPanel.IsGestureAvailable) { GestureSample gestureSample = TouchPanel.ReadGesture(); if (gestureSample.GestureType == GestureType.Tap) { Vector2 touchPosition = gestureSample.Position; if (touchPosition.X >= BackPosition.X && touchPosition.X < BackPosition.X + BackSize.X && touchPosition.Y >= BackPosition.Y && touchPosition.Y < BackPosition.Y + BackSize.Y) { Settings1 = false; Meny = true; MenuSound.Play(); } if (MenuMusicTouch == true) { if (touchPosition.X >= MenuMusicPos.X && touchPosition.X < MenuMusicPos.X + MenuMusicSize.X && touchPosition.Y >= MenuMusicPos.Y && touchPosition.Y < MenuMusicPos.Y + MenuMusicSize.Y) { MenuMusicBool = false; MenuSound.Play(); } } if (MenuMusicTouch == false) { if (touchPosition.X >= MenuMusicPos.X && touchPosition.X < MenuMusicPos.X + MenuMusicSize.X && touchPosition.Y >= MenuMusicPos.Y && touchPosition.Y < MenuMusicPos.Y + MenuMusicSize.Y) { MenuMusicBool = true; MenuSound.Play(); } } if (MenuMusicBool == true) { MenuMusicTouch = true; MenuMusicText = "ON"; MenuMusicStart = true; MenuMusicPause = false; InGameMusicStart = true; InGameMusicPause = false; } if (MenuMusicBool == false) { MenuMusicTouch = false; MenuMusicText = "OFF"; MenuMusicPause = true; InGameMusicStart = false; InGameMusicPause = true; } } } } if (InGame == true) { foreach (Lasers laser in lasers) { LaserPos += LaserVel; if (Vector2.Distance(LaserPos, SpaceShipPos) > 480) laser.isVisible = false; } for (int i = 0; i < lasers.Count; i++) { if (!lasers[i].isVisible) { lasers.RemoveAt(i); i--; } } scrolling1.Update(); scrolling2.Update(); if (scrolling1.rectangle.X + scrolling1.texture.Width <= 0) scrolling1.rectangle.X = scrolling2.rectangle.X + scrolling2.texture.Width; if (scrolling2.rectangle.X + scrolling2.texture.Width <= 0) scrolling2.rectangle.X = scrolling1.rectangle.X + scrolling1.texture.Width; spawn += (float)gameTime.ElapsedGameTime.TotalSeconds; foreach (Enemies enemy in enemies) enemy.Update(graphics.GraphicsDevice, gameTime, lvl); LoadEnemies(); if (InGameMusicStart == true) { MediaPlayer.Play(IngameMusic); InGameMusicStart = false; } if (InGameMusicPause == true) { MediaPlayer.Stop(); } // TODO: Add your update logic here while (TouchPanel.IsGestureAvailable) { GestureSample gestureSample = TouchPanel.ReadGesture(); Vector2 touchPosition = gestureSample.Position; if (touchPosition.X >= UpButtonPosition.X && touchPosition.X < UpButtonPosition.X + UpButtonSize.X && touchPosition.Y >= UpButtonPosition.Y && touchPosition.Y < UpButtonPosition.Y + UpButtonSize.Y) { SpaceShipPos = new Vector2(SpaceShipPos.X, SpaceShipPos.Y -= 20); } if (touchPosition.X >= DownButtonPosition.X && touchPosition.X < DownButtonPosition.X + DownButtonSize.X && touchPosition.Y >= DownButtonPosition.Y && touchPosition.Y < DownButtonPosition.Y + DownButtonSize.Y) { SpaceShipPos = new Vector2(SpaceShipPos.X, SpaceShipPos.Y += 20); } if (touchPosition.X >= ShootButtonPosition.X && touchPosition.X < ShootButtonPosition.X + ShootButtonSize.X && touchPosition.Y >= ShootButtonPosition.Y && touchPosition.Y < ShootButtonPosition.Y + ShootButtonSize.Y) { PlayerShoot.Play(); Shoot(); } if (touchPosition.X >= PauseButtonPos.X && touchPosition.X < PauseButtonPos.X + PauseButtonSize.X && touchPosition.Y >= PauseButtonPos.Y && touchPosition.Y < PauseButtonPos.Y + PauseButtonSize.Y) { paused = true; } if (SpaceShipPos.Y < 0) SpaceShipPos.Y = 0; if (SpaceShipPos.Y > graphics.PreferredBackBufferHeight) SpaceShipPos.Y = graphics.PreferredBackBufferHeight; if (SpaceShipPos.X < 0) SpaceShipPos.X = 0; if (SpaceShipPos.X > graphics.PreferredBackBufferWidth - SpaceShip.Width) SpaceShipPos.X = graphics.PreferredBackBufferWidth - SpaceShip.Width; if (SpaceShipPos.Y > graphics.PreferredBackBufferHeight - SpaceShip.Height) SpaceShipPos.Y = graphics.PreferredBackBufferHeight - SpaceShip.Height; } if (Health <= 0) { XLiveScoreForm form = new XLiveScoreForm(this.manager); if (EasyGamemode == true) { form.Show("ce49f039-edef-4162-a245-429269d4067a", ScoreText, 5.0f, "This is great score!", XLiveScoreFormMode.Lose, difficulty); Health = 100; } if (NormalGamemode == true) { form.Show("fd60e1c5-2d0c-4716-8872-27f42de2471b", ScoreText, 5.0f, "This is great score!", XLiveScoreFormMode.Lose, difficulty); Health = 100; } if (HardGamemode == true) { form.Show("d6256cd7-2161-4840-90cd-6b53f8f094b4", ScoreText, 5.0f, "This is great score!", XLiveScoreFormMode.Lose, difficulty); Health = 100; } if (ImpossibleGamemode == true) { form.Show("4e012c29-497f-4aa5-87a6-bb23dc2f8ac0", ScoreText, 5.0f, "This is great score!", XLiveScoreFormMode.Lose, difficulty); Health = 100; } } if (this.manager.CurrentSession.LeaderboardProfiles.Count > 0) { Leaderboard lb = new Leaderboard( this.manager.CurrentSession, this.manager.CurrentSession.LeaderboardProfiles[0]); lb.SubmitScore(5.0f); } if (ScoreText >= 1337) { Achievement item = new Achievement(manager.CurrentSession, "0603a7a4-d66b-48ae-867d-7ba813a2e8be"); item.AwardCompleted += new AsyncEventHandler(item_AwardCompleted); item.Award(); } if (ScoreText >= 9000) { Achievement item = new Achievement(manager.CurrentSession, "d0fde3d8-1d81-4925-b5f7-d0b645b0be70"); item.AwardCompleted += new AsyncEventHandler(item_AwardCompleted); item.Award(); } } base.Update(gameTime); }

Dold text

undvik foreach, iaf för stora listor, for är snabbare, speciellt precounted variabel. Använd inte distance, använd distancesquared och höj jämnförelsetalet till 2 också, om du ska kolla ungefärligt avstånd t.ex.

för o få lättare läslig kod kan du bygga en funktion som testar kollision mellan object. t.ex checkCollision(touchPosition, objectPosition, objectSize); i ditt fall, då du verkar byggt det så. annars som i alla andra trådar borde du objektorientera mer, använda klasser t.ex. men men...

annars kan det vara GarbageCollectorn som får spel. använder du mycket onödiga variabler?

Av E_maN
Skrivet av dumbo:

Det finns ju många profiler "i windows". Man har en för skärmen, en för skrivaren osv osv, detta för att olika enheter har olika egenskaper och för att man på något sätt ska kunna få en enhetlig bild av hur saker kommer att se ut så måste man ha profiler som funkar som ett slags översättningstabell. Dessutom finns det, om man inte skalar bort den, en profil i bilden, eftersom en bild kan vara sparad i olika färgrymder.

För det första så behöver vi veta vilken färgrymd själva bilden har. Man kan välja 3 eller 4 (kommer inte ihåg säkert) olika i kameran. Är den inställd på något annat "Standard SRGB" eller vad den heter så måste man ha ett program som läser och använder färgprofiler för att färgerna ska visas korrekt. Mest "fel" kommer de att bli som kameran är inställd på AdobeRGB.

Därtill så måste ju färgprofilen för skärmen vara korrekt, eftersom att photoshop "översätter" efter den så att bilden ska visas rätt på skärmen efter dess egenskaper.

Vill man inte hålla på och "strula" med färgprofiler så är det bäst att använda sRGB rakt igenom. Man kan ju även ta bort skärmprofilen om man inte gillar att det ser olika ut i olika program om inte alla program använder profiler, men då får man istället leva med att veta att bilderna kan se ut "hur som helst" när andra tittar på dem på sina skärmar, vilket de iofs kan göra ändå, eftersom väldigt få har profilerade skärmar (de profiler som tillverkaren tillhandahåller är tämligen ungefärliga, eftersom skärmarena inte är exakt lika, även om det är samma modell). Har man inte själv profilerat sin skärm kan man ju inte bara säker på att den heller visar helt korrekt.

Generellt tips på hur man får bättre bilder?
Ut och fota! Testa olika saker. Det kostar i praktiken inget att experimentera med en digital kamera.
Rent tekniskt är det en bra grej att "exponera till höger", för att få så lite brus som möjligt, tex, men då behöver man oftast justera ljusheten på bilden i efterhand och gör bäst i att använda raw.

woah, Tack! Detta var väldigt intressant! Men har letat lite i kameran men hittar inget som säger vilken färgprofil den använder?
Jo försöker ut o prova inställningar, det är skoj tycker jag kom på i efterhand att jag borde använt utlösartimer med, har ett lite rassligt stativ som inte tycker om att man trycker knappen, kamerna vippar lite då hehe.

Men du menar att man ska underexponera lite då?eller är det höger som är överexponering.. hmm får prova lite Borde väl bli mer brus om bilden är underexponerad? har för mig de brukar vara mest brus då. Eller?

Av E_maN
Skrivet av lite_:

Har för mig att windows egna visare kör med windows färgprofiler. Testa med acdsee.

ah okej. Kan man inte få det och använda samma färgprofil överallt?
hehe finns acdsee ännu? minns att vi körde det hamma på vår P2a för det fanns inget vettigt i windows 95

men ska prova med det

Hur ser det annars ut tycker ni? några generella tips för vad jag kan göra för o få bättre bilder? Har inte fotat sen jag fotade analogt för kanske 10 år sen och det var inte alls mycket :/

Av E_maN
Skrivet av n_sandstrom:

Är det altså olika färger i fotovisaren och i paint?
Jag hade en hel del liknande problem då jag var ny till bildhantering, minns inte exakt vilka steg som löste vad. Men windows fotovisare saknar en del stöd för färgprofiler, så lita inte för mycket på den.

Hmm. Det kan nog stämma att det bara är o fotovisaren, när jag la upp bilden på internet verkar det som den såg rätt ut. Kanske ska skaffa en bättre fotovisare då? Om det finns någon simpel.

Av E_maN

Tack för alla svar!

Skrivet av Nikkop:

Vilket format har du fotograferat i? (JPG, RAW).
Vad sparar du ner bilden som?

Kanske är komprimeringen

Har provat spara bilden som jpg och png, även save for web då den skulle bränna in en färgprofil eller något? Blev samma

Skrivet av mrqaffe:

Fotar du i jpg och redigerar sedan och gör en ny komprimering ? Om du vet med dig att du ska redigera bilderna eller bara vill ha bästa kvalitet i allmänhet bör du använda raw (NEF)
Kan du beskriva vilka filformat du använder och vad du försöker göra med bilden?

Jag kollade faktist det innan och såg att den fotade i jpg :/ har ändrat till raw nu, fast har inte så stort minneskort så får nog köpa ett större om jag ska ta i raw. MEn Kan färgerna blir konstiga om man byter format från jpg?

Skrivet av Aristotele:

Det behövs nog mer detaljerad information för att ge tips.
Det finns massor med möjliga felkällor här.

Beskriv hela kedjan från fotografering till dess du menar att något blir "fel".

D70 ute på stativ, S-läget med 3 sekunders slutartid tror jag, i JPG märkte jag efteråt. In i datorn, manipulerad i photoshop, sparad som JPG och PNG, blir samma resultat. Något mer som behövs? Finns det färgprofiler på kameran med att ställa in? eller kanske några inställningar man bör ha för det ska vara mest optimalt?

Skrivet av Inveramsay:

view -> proof colors -> photo rgb (tror jag, prova de andra valen annars). Det hjälpte för mig när ps höll på med märkligheter och jag fick samma i ps som när den sparades.

Ah ska kolla det om en stund då!

Av E_maN

Hjälp! Färger blir knas efter sparning(bildexempel med)

Hej!

Köpte precis en Nikon D70 och tänkte prova ta lite bilder igårkväll, märkte att jag behövde fixa lite med färgerna så tänkte testa i photoshop. Men när jag sparar så blir färgen inte alls som i programmet? Märkte även att det blev så när jag spara i paint också, märkte jag när jag tagit en printscreen och skulle spara ner. Tur att imgur hade paste form clipbord, blev rätt färger då :S

http://i.imgur.com/Ubrti.jpg

Vad är det som är knas? har försökt kolla lite bland färgprofiler och sådär, men vet inte exakt vad dem ska stå på? Det är Photoshop CS6 64bit det handlar om.
Tacksam för svar!

Av E_maN
Skrivet av LinusNeuman:

Jag har aldrig vart emot klasser, de är väldigt viktiga för att få en strukturerad kod som man inte får huvudverk av att läsa igenom. Jag ville i början göra klasser, men de ville inte funka så jag sket i det. Jag har dock bestämt mig för att använda mig utav klasser i framtida projekt, så det är ingen fråga om ifall jag vill eller inte, jag har bara bestämt att det ska vara så.

Om någon kan lite om touch input på xna till Windows Phone, så behöver jag lite hjälp ifall ni har lust:
Skeppet rör sig bara ett snäpp, alltså när man håller inne för att röra skeppet så rör den sig ett litet snäpp sen stannar den igen, jag har kommit fram till att det är while loopen som den går ur när man tryckt.

if (InGame == true)
{
// TODO: Add your update logic here
while (TouchPanel.IsGestureAvailable)
{
GestureSample gestureSample = TouchPanel.ReadGesture();
if (gestureSample.GestureType == GestureType.Hold)
{
Vector2 touchPosition = gestureSample.Position;
if (touchPosition.X >= UpButtonPosition.X &&
touchPosition.X < UpButtonPosition.X + UpButtonSize.X &&
touchPosition.Y >= UpButtonPosition.Y &&
touchPosition.Y < UpButtonPosition.Y + UpButtonSize.Y)
{
SpaceShipPos = new Vector2(SpaceShipPos.X, SpaceShipPos.Y -= 20);
}

if (touchPosition.X >= DownButtonPosition.X &&
touchPosition.X < DownButtonPosition.X + DownButtonSize.X &&
touchPosition.Y >= DownButtonPosition.Y &&
touchPosition.Y < DownButtonPosition.Y + DownButtonSize.Y)
{

SpaceShipPos = new Vector2(SpaceShipPos.X, SpaceShipPos.Y += 20);
}

om du inte fick det att funka med klasser kanske du skulle lärt dig det istället för att gå vidare utan klasser. Du löser inte problemet, du skjuter upp det och förvärrar det. men men...
prova byt while mot if, nu säger du "medans det finns en touchgesture gör detta", borde vara "om det finns en touchgesture"

Av E_maN

Du borde antingen kunna automatisera volymen manuellt så du höjer när det behövs och sänker osv. Eller kan du använda en kompressor för o jämna ut nivåerna automatiskt, men en kompressor är ganska svårt att förstå, men finns säkert någon basic tutorial på youtube. Borde finnas kompressor i soundbooth från början.

Av E_maN

Har med dota 2 att byta bort, kan tänka mig cs:go eller nästan vad som.

Av E_maN
Skrivet av LinusNeuman:

Dude, jag går programmering i skolan, jag kommer få böcker gratis, enda anledningen till att jag är här är för att det går för långsamt och jag tycker att det är roligt.

ja, har du en bok är det ju ett utmärkt sätt att läsa på om klasser och arv? Sen kan man googla. antingen svenska eller engeksla, t.ex c# class hierarchy, c# classes, c# inherit osv... Ska du lära dig programmera måste du lära dig söka upp saker själv, inte ropa på hjälp vid första lilla felet. Om någon ger dig tips, men du förstår inte riktigt. Googla, finns alltid en stackoverflow post om det

Av E_maN
Skrivet av LinusNeuman:

Vi har haft en lektion med XNA och då lärde vi oss hur man ändrar färg på bakgrundsbilden i ett spel.. Men självklart har jag läst på on teh internet, men jag har ingen aning om hur jag gör en swap eller ärver. Men vad menar du? Ska jag ha en klass för Menyn, och en klass för spelet? Blir itne det skit grötigt om jag har allting i hela spelet i en klass?

Jag googlade på problemen innan jag kom hit.

Jag förstår, men det är point of no return, jag har redan börjat, tänker inte sluta förrens det här spelet är klart. Två projekt samtidigt är inga problem.

läs på lite vad klasser och arv gör. Olika element av logik lägger du i olika delar. Hur spelaren rör sig i en. Hur fiender beter sig i en, deras kollisionskod, vad som händer om man träffar dem. Varje del ska sköta sig själv.

Av E_maN
Skrivet av LinusNeuman:

Vad är en screen/state basklass?

Vadå 2 grundklasser? Vadå graphicsdevice managers? Vilket djup?

Jag flyttade runt på graphicsdevide grejen för att det kom upp errors o jag trodde den va felet.

gör en klass för meny och spelet som du ärver av en basklass. typ.

GameState
- Meny
- Spel

Sen har ud i din grundklass så swappar du vilken den ska uppdatera och rita, ett enkelt sätt o få ett menysystem. Menade grunden, skrev djupet. Dumt gjort

Hm. Det står ganska klart och tydligt vad felen är. Läs dem, Googla. Kolla exempel. Gör 1 projekt i taget, gör klart det. Det blir bäst så och du lär dig mest.

Av E_maN
Skrivet av LinusNeuman:

Hejdär!

(Ja jag håller på med 2st spel samtidigt, för er som vet det.)

Jag kodar med ett spel till WindowsPhone som ska heta PlanetStreamer, det är en fin liten bakgrund och så styr man genom att dra på skeppet upp och ner och skjuter genom att klicka på skärmen.

Jag har hittils fixat bakgrunden, men till skillnad från mitt gamla projekt (som jag inte övergivit, håller på med det fortfarande) så blev det så sjuukt grötigt utan klasser och annat gott. SÅ jag ahde tänkt från början att dela upp olika saker i spelet i olika klasser.

Men eftersom vi inte gått igenom classer än i skolan så är det ett problem.

Många lämnar kritik som "Varför kan du det, men kan inte enkla saker som det?" Och det är helt enkelt för att jag googlar upp och lär mig det jag behöver veta för tillfället på internet, och lär mig riktigt långsamt i skolan. (Vi har en.. EN.. programmerings lektion i veckan, och då får man aldrig hjälp för att 30 andra elever behöver hjälp -.-'

Så jag kan lite ditt och datt om olika saker helt enkelt.

Vad jag behöver hjälp med just nu är varför mitt spel inte vill fungera:
Det är massa errors, och jag har försökt fixa dem men då kommer en annan error upp istället och så har det pågått.
Just nu har jag tre stycken klasser (.cs) filer i spelet.
Ettan är IngameTexture och är den som ändrar bakgrundsbilden när man väl är i spelet och styr planet osv.
Tvåan är MainMenu och är den som skriver Tap Screen to continue, och ändrar bakgrund bild.
Trean är IngameSpaceShip, som fixar rymdskeppet.

Alltså, vad är en klass, kan jag läsa in dem i en speciell ordning? Alltså MainMenu först, sen IngameTexture och sen IngameSpaceShip?

Och slutligen, varför kommer dessa errors upp?
IngameTexture.cs:

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.Input.Touch; using Microsoft.Xna.Framework.Media; namespace PlanetStreamer { /// <summary> /// This is the main type for your game /// </summary> public class IngameTexture : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; private Texture2D Texture; Public IngameTexture() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; // Frame rate is 30 fps by default for Windows Phone. TargetElapsedTime = TimeSpan.FromTicks(333333); // Extend battery life under lock. InactiveSleepTime = TimeSpan.FromSeconds(1); } /// <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); Texture = Content.Load<Texture2D>("Space"); // 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() { // 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(); // 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(Texture, new Vector2(0f, 0f), Color.White); spriteBatch.End(); // TODO: Add your drawing code here base.Draw(gameTime); } } }

Dold text

MainMenu.cs

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 Microsoft.Xna.Framework.Input.Touch; namespace PlanetStreamer { /// <summary> /// This is a game component that implements IUpdateable. /// </summary> public class MainMenu : Microsoft.Xna.Framework.GameComponent { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; private Texture2D MainMenuTexture; public MainMenu(Game game) : base(game) { // TODO: Construct any child components here } /// <summary> /// Allows the game component to perform any initialization it needs to before starting /// to run. This is where it can query for any required services and load content. /// </summary> public override void Initialize() { // TODO: Add your initialization code here base.Initialize(); } /// <summary> /// Allows the game component to update itself. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> /// protected void LoadContent() { MainMenuTexture = Content.Load<Texture2D>("Space"); } protected void UnloadContent() { } public override void Update(GameTime gameTime) { // TODO: Add your update code here base.Update(gameTime); } protected void Draw(GameTime gameTime) { spriteBatch.Begin(); spriteBatch.Draw(MainMenuTexture, new Vector2(0f, 0f), Color.White); spriteBatch.End(); base.Draw(gameTime); } } }

Dold text

IngameSpaceShip.cs -Inte börjat än då en SpelDesign elev gör ett rymdskepp (Han e grym!)

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 Microsoft.Xna.Framework.Input.Touch; namespace PlanetStreamer { /// <summary> /// This is a game component that implements IUpdateable. /// </summary> public class IngameSpaceShip : Microsoft.Xna.Framework.GameComponent { public IngameSpaceShip(Game game) : base(game) { // TODO: Construct any child components here Content.RootDirectory = "Content"; } /// <summary> /// Allows the game component to perform any initialization it needs to before starting /// to run. This is where it can query for any required services and load content. /// </summary> public override void Initialize() { // TODO: Add your initialization code here base.Initialize(); } /// <summary> /// Allows the game component to update itself. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> public override void Update(GameTime gameTime) { // TODO: Add your update code here base.Update(gameTime); } } }

Dold text

ERRORS:
http://imageshack.us/a/img109/4748/errors11.png

Ladda hem källkod:
http://www.mediafire.com/?1ks5i6421w335mu

varför har du 2 grundklasser? med graphicsdevicemanagers och sånt? du ska ha EN sån i djupet, sen bygga spelet runt den. Ska du ha menyer? Göra en screen/state basklass som du gör spelet i och menyn i. t.ex.

edit:
Många av felen grundar sig på att mainmenu.cs är ärvd av GameComponent och inte Game, så det blir fel i typecasting och saknas variabler etc. Men du ska ändå bara ha 1 game i grunden. tänk om

Av E_maN
Skrivet av Pandy95:

Ja, cirkeln är ganska så lätt det är triangeln som är värre som du sa.

Ang det jag sa med vinkar, borde du inte kunna kolla typ såhär, för alla hörn, eller för 2 hörn borde räcka

http://i.imgur.com/B92aQ.png

kolla om den röda vinkeln är mindre än den gröna, om den är det, fortsätt med nästa hörn osv? borde bli rätt, samt om jag tänker ärtt borde du bara behöva kolla 2 hörn men är trött så är inte säker

Av E_maN

för o kolla om en punkt träffar en cirkel kan du ju kolla om längden från mitten av cirkeln till punkten är mindre än radien av cirkeln. Men för en triangel? hmm. Kanske kan kolla något med vinklar till de 3 hörnen? Har aldrig tänkt på detta faktist

Av E_maN
Skrivet av Tarasus:

Så om jag ändrar mina färger så att DU syns bättre än vad JAG gör, så är inte det fusk?

spelat quake? Finns massvis med inställningar i spelen som gör att du framhäver fiender lättare, t.ex sätta ett chockrosa skin/spygrön, tvinga alla fiender att ha samma modeller som hitboxen och smudgar ut alla texturer så det blir mer platt.

Nej, det är inte fusk, imho, om man kan ändra det, sure, why not?

Av E_maN
Skrivet av Kazen:

fråga 200 människor, klipp ut 5 svar

Av E_maN
Skrivet av Mr.Pro:

Skulle precis ladda ner nya drivers men det står att den inte hittar grafikkortet LoL... Vad tror du det beror på?

dunno, leta fram rätt drivrutiner själv annars, finns en manuell drivrutinsväljhare precis under den automagiska ;D

Av E_maN
Skrivet av Mr.Pro:

Tro det Vad bör jag göra?

prova köra någon form av drivercleaner och ta bort alla drivrutiner från den gamla tillverkaren, kanske även nya, och installera om nya. Annars prova installera om windows, om du orkar

Av E_maN
Skrivet av Mr.Pro:

Min dator har blivit seg pga att jag har bytt grafikkort så tror problemet beror på moderkortet, därför köper jag ett nytt moderkort

bytte du vendor utan o rensa drivers riktigt/formatera systemet?