Java

Avdelningen för programmering, nätverk samt alternativa OS.
Post Reply
arydhe
Posts: 9
Joined: 2003-07-21 22:37:27
Location: Hässleholm
Contact:

Java

Post by arydhe »

Jag håller på med Java application nu å ska göra ett spel i . Jag har lagt in en bild med hjälp av swing, och vill nu få den att röra sig. jag kan avända setBounds(x,y,b,h) och med hjälp av en forsats fick jag den att sticka sin väg men om jag inte vill att den ska flyttat så fort, hur gör jag, jag har försökt med trådar men inte fått det att funka.. nån som kan hälpa mig?
User avatar
nva
Hedersbit
Posts: 2517
Joined: 2002-03-07 23:34:21
Location: Skåneland
Contact:

Post by nva »

Det är helt rätt att du ska använda trådar, kan vi få se koden?
The three most dangerous things in the world are a programmer with a soldering iron, a hardware type with a program patch and a user with an idea.

In theory, there is no difference between theory and practice. But, in practice, there is.
lotek
Posts: 11
Joined: 2003-06-25 23:39:22

Post by lotek »

Enklaste sättet är att lägga till följande block i forsatsen:
try {
Thread.currentThread().sleep(100); //i millisekunder
}catch(InterruptedExeption ie){
ie.printStackTrace();
}
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

nva wrote:Det är helt rätt att du ska använda trådar, kan vi få se koden?
Huva, spel klarade sig utan trådar i 20-30 år, finns väl inget tvång att göra det nu?
Eller är det nåt javaspecifikt som stannar om man inte trådar sitt program?
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
lotek
Posts: 11
Joined: 2003-06-25 23:39:22

Post by lotek »

När du startar ett Java program så startar några trådar vare sig du vill det eller inte. Exempelvis så är det en Java tråd som anropar main metoden som är startmetoden för programmet. Därför, vill man att ens program ska vila ett litet tag så handlar det om trådar, trots att man själv inte har skrivit ett multitrådat program.

Annars håller jag med Icepic, undvik så länge du kan att göra ett multitrådat spel, om du inte gör ett nätverkspel då det kan vara trevligt att ha några trådar som sköter nätverksbiten
User avatar
nva
Hedersbit
Posts: 2517
Joined: 2002-03-07 23:34:21
Location: Skåneland
Contact:

Post by nva »

IcePic wrote:
nva wrote:Det är helt rätt att du ska använda trådar, kan vi få se koden?
Huva, spel klarade sig utan trådar i 20-30 år, finns väl inget tvång att göra det nu?
Eller är det nåt javaspecifikt som stannar om man inte trådar sitt program?
Java har inbyggt stöd för trådar, och det enklaste sättet (som jag vet) att få ett Java-program att vänta är att pausa den just nu pågående tråden, precis som lotek skrev i sitt kodexempel. Sen behöver man ju inte använda flera trådar förstås, bara metoderna som hör till för att styra den som är igång.
The three most dangerous things in the world are a programmer with a soldering iron, a hardware type with a program patch and a user with an idea.

In theory, there is no difference between theory and practice. But, in practice, there is.
User avatar
mirza*
Posts: 1267
Joined: 2002-04-19 15:46:47

Post by mirza* »

Om man får fråga... vad är det som är så fel med trådar?
IL1
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

mirza* wrote:Om man får fråga... vad är det som är så fel med trådar?
Tja, "alla" andra språk skulle bara haft
sleep(100) som kod för att sova och inte de 5 raderna som visades.

Det är inget fel på trådar i sig, men ibland (kanske inte så mycket här) så
känns det som en lösning som söker sitt problem. Det är inte alls fel att ha
asynkron exekvering av saker, men det betyder inte att man inte kan skriva
ett spel med TVÅ (2!) fiender som rör sig oberoende av varandra utan att tråda
upp dem.
Just iom att trådar är asynkrona så ställer de till det när man ska debugga,
så om man inte måste ha trådar så ska man överväga om det verkligen
är värt det extra besväret.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
Post Reply