2020-02-23, 16:32
  #13
Medlem
Adgos avatar
Citat:
Ursprungligen postat av Trollfeeder
Ha loopen lngre ut. Jag tycker inte den hr hemma i den hr metoden alls, men den r rtt rrig och stor s jag har svrt att sga vad som hr och inte hr hemma.

Och sen br villkoret vara and, inte or som det r nu, annars fortstter fighten tills bda har dtt och det tror jag inte du hade tnkte.

Anvnder du ngot ramverk eller gr du allt frn scratch?

Hur menar du nr du sger att jag ska ha loopen lngre ut?

Gr allt frn scratch samtidigt som jag lser om OOP, kollar hur andra har gjort etc
Citera
2020-02-23, 16:37
  #14
Medlem
Trollfeeders avatar
Citat:
Ursprungligen postat av Adgo
Hur menar du nr du sger att jag ska ha loopen lngre ut?

Gr allt frn scratch samtidigt som jag lser om OOP, kollar hur andra har gjort etc

Allts, att den hr metoden som kollar vad spelaren ska gra borde anropas frn en loop dr man ocks uppdaterar grafik-output. Nu har du loopen fr lngt in s du spelar klart hela spelet och sen ritar du ut vad som hnde.
Citera
2020-02-23, 16:40
  #15
Medlem
Adgos avatar
Citat:
Ursprungligen postat av Trollfeeder
Allts, att den hr metoden som kollar vad spelaren ska gra borde anropas frn en loop dr man ocks uppdaterar grafik-output. Nu har du loopen fr lngt in s du spelar klart hela spelet och sen ritar du ut vad som hnde.

Jaha s repaint ska inkluderas i loopen? Ska prova detta.

Tack du har varit till stor hjlp

terkommer om det uppstr ngot nytt fel med loopen.
__________________
Senast redigerad av Adgo 2020-02-23 kl. 16:42.
Citera
2020-02-23, 16:58
  #16
Medlem
Adgos avatar
Citat:
Ursprungligen postat av Trollfeeder
Ha loopen lngre ut. Jag tycker inte den hr hemma i den hr metoden alls, men den r rtt rrig och stor s jag har svrt att sga vad som hr och inte hr hemma.

Hur skulle du gra istllet fr att f karaktrerna att slss btw?
Finns det ett bttre stt?
Citera
2020-02-23, 17:40
  #17
Medlem
Trollfeeders avatar
Citat:
Ursprungligen postat av Adgo
Hur skulle du gra istllet fr att f karaktrerna att slss btw?
Finns det ett bttre stt?

Om man tittar p hur spelramverk funkar s brukar det vara s att du har en metod som ramverket anropar p ett prestandaberoende intervall som du gr det grafiska i, och en metod som kr p ett fast intervall som du kr fysiken i, typ spelarens riktning, studsar, vad det nu m vara. D ligger loopen i ramverket.

Sdant som hitboxars storlekar och liknade vill du nog stta upp i en init-metod som bara krs en gng. Det r ondigt att gra varje iteration.

Edit: Blandade ihop, det r fysiken man brukar kra p fast intervall sklart.
__________________
Senast redigerad av Trollfeeder 2020-02-23 kl. 17:58.
Citera
2020-02-24, 17:01
  #18
Medlem
kjellbrels avatar
Citat:
Ursprungligen postat av Adgo
Jaha s repaint ska inkluderas i loopen? Ska prova detta.
Efter det du beskrivit tidigare s knns det som du gett dig p ngot som du inte r redo fr n.

Swing r enkeltrdat och event dispatch thread fr inte lastas ned med fr mycket jobb. Den skall endast best av GUI-relaterade uppdateringar. Just nu lser du hela den trden tills dess din metod avslutar, s att anropa repaint ett flertal gnger har precis noll effekt, d du inte ger ngon annan del i systemet chansen att agera p den flaggningen.

Innan du knner dig tminstone ngorlunda redo fr att skriva flertrdade program kommer detta bli jobbigt fr dig. Kort beskrivet fr att lsa detta bra, s br du dela upp din kod i 2 trdar. En maintrd dr all din logik sker och som enbart notifierar/postar uppdateringar p eventtrden, dr du d pluggar in dina listeners som gr enbart GUI-uppdateringar.
Citera
2020-02-24, 20:25
  #19
Medlem
Adgos avatar
Citat:
Ursprungligen postat av Trollfeeder
Om man tittar p hur spelramverk funkar s brukar det vara s att du har en metod som ramverket anropar p ett prestandaberoende intervall som du gr det grafiska i, och en metod som kr p ett fast intervall som du kr fysiken i, typ spelarens riktning, studsar, vad det nu m vara. D ligger loopen i ramverket.

Sdant som hitboxars storlekar och liknade vill du nog stta upp i en init-metod som bara krs en gng. Det r ondigt att gra varje iteration.

Edit: Blandade ihop, det r fysiken man brukar kra p fast intervall sklart.

Jag frstr. Knner du till ngot exempel eller ngon sida dr jag kan kolla och se hur ngot sdant kan se ut?

Jag knner att det mesta i mitt spel r okej strukturerat fr att vara mitt frsta spel men skulle grna vilja lsa mer/se exempel p hur andra gr fr framtida projekt.
Citera
2020-02-24, 20:29
  #20
Medlem
Adgos avatar
Citat:
Ursprungligen postat av kjellbrel
Efter det du beskrivit tidigare s knns det som du gett dig p ngot som du inte r redo fr n.

Swing r enkeltrdat och event dispatch thread fr inte lastas ned med fr mycket jobb. Den skall endast best av GUI-relaterade uppdateringar. Just nu lser du hela den trden tills dess din metod avslutar, s att anropa repaint ett flertal gnger har precis noll effekt, d du inte ger ngon annan del i systemet chansen att agera p den flaggningen.

Innan du knner dig tminstone ngorlunda redo fr att skriva flertrdade program kommer detta bli jobbigt fr dig. Kort beskrivet fr att lsa detta bra, s br du dela upp din kod i 2 trdar. En maintrd dr all din logik sker och som enbart notifierar/postar uppdateringar p eventtrden, dr du d pluggar in dina listeners som gr enbart GUI-uppdateringar.

Till en brjan hade jag en separat class(trd), i samma fil som koden jag visade, som bestod av keylistener. Man kunde spela tv spelare och sl och sparka varandra. Det r nu i efterhand som jag vela erstta den med ngon sorts automation. Keylistener fanns det mycket att lsa om. Det var ganska enkelt att implementera men att erstta den har varit svrt och det r det jag behver hjlp med
Citera
2020-02-24, 21:35
  #21
Medlem
Trollfeeders avatar
Citat:
Ursprungligen postat av kjellbrel
Efter det du beskrivit tidigare s knns det som du gett dig p ngot som du inte r redo fr n.

Swing r enkeltrdat och event dispatch thread fr inte lastas ned med fr mycket jobb. Den skall endast best av GUI-relaterade uppdateringar. Just nu lser du hela den trden tills dess din metod avslutar, s att anropa repaint ett flertal gnger har precis noll effekt, d du inte ger ngon annan del i systemet chansen att agera p den flaggningen.

Innan du knner dig tminstone ngorlunda redo fr att skriva flertrdade program kommer detta bli jobbigt fr dig. Kort beskrivet fr att lsa detta bra, s br du dela upp din kod i 2 trdar. En maintrd dr all din logik sker och som enbart notifierar/postar uppdateringar p eventtrden, dr du d pluggar in dina listeners som gr enbart GUI-uppdateringar.

Om TS vill brja enkelt kan han skita i flertrdat, men d mste han se till att det inte blir jttemnga cykler mellan varje repaint. Men mest d fr att f se ngot rra sig. Man gr inga serisa spel p det sttet. Ska man gra ngot annat n ett jttesimpelt spel s mste man sklart ha mer n en trd.

Citat:
Ursprungligen postat av Adgo
Jag frstr. Knner du till ngot exempel eller ngon sida dr jag kan kolla och se hur ngot sdant kan se ut?

Jag knner att det mesta i mitt spel r okej strukturerat fr att vara mitt frsta spel men skulle grna vilja lsa mer/se exempel p hur andra gr fr framtida projekt.

r det ett sjlvndaml att det ska vara just Swing? Eller ens Java? Vad r du ute efter? Lra dig gra spel eller lra dig Java?

Citat:
Ursprungligen postat av Adgo
Till en brjan hade jag en separat class(trd), i samma fil som koden jag visade, som bestod av keylistener. Man kunde spela tv spelare och sl och sparka varandra. Det r nu i efterhand som jag vela erstta den med ngon sorts automation. Keylistener fanns det mycket att lsa om. Det var ganska enkelt att implementera men att erstta den har varit svrt och det r det jag behver hjlp med

En klass r inte en trd.
Citera
2020-02-24, 22:36
  #22
Medlem
kjellbrels avatar
Citat:
Ursprungligen postat av Trollfeeder
Om TS vill brja enkelt kan han skita i flertrdat, men d mste han se till att det inte blir jttemnga cykler mellan varje repaint. Men mest d fr att f se ngot rra sig. Man gr inga serisa spel p det sttet. Ska man gra ngot annat n ett jttesimpelt spel s mste man sklart ha mer n en trd.
Ja sjlvklart gr det att f saker att "fungera" med diverse fullsningar och brister. Jag tolkade dock att TS ml i frsta hand var att lra sig saker och om det stmmer s r detta definitivt ingen bra vg framt.

Citat:
Ursprungligen postat av Adgo
Till en brjan hade jag en separat class(trd), i samma fil som koden jag visade, som bestod av keylistener. Man kunde spela tv spelare och sl och sparka varandra. Det r nu i efterhand som jag vela erstta den med ngon sorts automation. Keylistener fanns det mycket att lsa om. Det var ganska enkelt att implementera men att erstta den har varit svrt och det r det jag behver hjlp med
Allts, de missfrstnd du visar (runt ex trdning) hr gr att jag verkligen tycker att du skall vnta med Swing ett tag till. Du r inte redo fr det helt enkelt. Precis som Trollfeeder ocks frgar s tycker jag du skall fundera p vad du vill uppn frst och frmst. Om det r att lra dig Java s ta en sak i taget. Blanda inte in Swing i detta just nu.

Om du exempelvis skulle vara njd med att f din spellogik att fungera s skulle du kunna hlla ned detta till en enkel command line-applikation som simulerar fighten och lser dina inputs (snytingarna) frn System.in och skriver ut vad som hnder p System.out. Sannolikt trkigare n du tnkt dig detta, men antagligen ngot som du kommer ta dig framt bttre med. Allt blir enkeltrdat hr varvid du slipper fundera p det i nulget.

P lngre sikt nr du lrt dig mer s kanske du r redo att gra om den hr koden till en logikmotor att kra i egen trd. I det lget har du en bra grund att bygga en Swing-app ovanp och f en prydlig lsning dr enbart UI-updates krs p eventtrden medans all din spellogik rullar i sin egna separata trd.
Citera
2020-02-24, 22:48
  #23
Medlem
Adgos avatar
Citat:
Ursprungligen postat av Trollfeeder
r det ett sjlvndaml att det ska vara just Swing? Eller ens Java? Vad r du ute efter? Lra dig gra spel eller lra dig Java?

Det ska vara Java. Jag hade gjort ett liknande spel fast textbaserad i terminalen frut. Vela prova med spritegrafik och kom in p swing

Citat:
Ursprungligen postat av Trollfeeder

En klass r inte en trd.

Allts jag anvnde mig a klassen Thread
Citera
2020-02-24, 22:52
  #24
Medlem
Adgos avatar
Citat:
Ursprungligen postat av kjellbrel
Ja sjlvklart gr det att f saker att "fungera" med diverse fullsningar och brister. Jag tolkade dock att TS ml i frsta hand var att lra sig saker och om det stmmer s r detta definitivt ingen bra vg framt.


Allts, de missfrstnd du visar (runt ex trdning) hr gr att jag verkligen tycker att du skall vnta med Swing ett tag till. Du r inte redo fr det helt enkelt. Precis som Trollfeeder ocks frgar s tycker jag du skall fundera p vad du vill uppn frst och frmst. Om det r att lra dig Java s ta en sak i taget. Blanda inte in Swing i detta just nu.

Om du exempelvis skulle vara njd med att f din spellogik att fungera s skulle du kunna hlla ned detta till en enkel command line-applikation som simulerar fighten och lser dina inputs (snytingarna) frn System.in och skriver ut vad som hnder p System.out. Sannolikt trkigare n du tnkt dig detta, men antagligen ngot som du kommer ta dig framt bttre med. Allt blir enkeltrdat hr varvid du slipper fundera p det i nulget.

P lngre sikt nr du lrt dig mer s kanske du r redo att gra om den hr koden till en logikmotor att kra i egen trd. I det lget har du en bra grund att bygga en Swing-app ovanp och f en prydlig lsning dr enbart UI-updates krs p eventtrden medans all din spellogik rullar i sin egna separata trd.

Jag har redan gjort samma spel men textbaserad som spelas i terminalen. Tnkte lra mig mer genom att gra samma spel fast med spritegrafik

Jag frstr att min kod inte r optimal men jag tnkte frska f detta spel att fungera, lgga till kommentarer med frslag p bttre stt att gra spelet p och sedan i framtiden gra spelet igen fast lgga till ngot nytt(typ att karaktrerna kan springa, hoppa, ducka) och gra det "rtt"
__________________
Senast redigerad av Adgo 2020-02-24 kl. 23:00.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in