igri na Java?

5 отговора 197 прегледа
#1

igri na Java?

Awe moje bi glupav vypros, ama ima li tuka nqkoi koito da e pisal igri na Java? Po-speciqlno me interesuva ne6to ot sorta na arkaden "ek6yn" kato space invaders /*s elementarna grafika*/. Ob6to vzeto sm si izmislil struktura na obektite, nivata i t.n., ama ne6to ne mi idva na uma kak da osy6testvq animaciqta. S predefinirane na update() nqma da stane, 6toto edin obekt kato se zadviji, trqbva da iz4ezne ot staroto mqsto. Osven tova za vsqko korab4e da re4em, otdelna ni6ka li trqbva da syzdam? Ako nqkoi ima ideq, da spodeli :)) pyk ako iska moje zaedno da izrutim igrata :]
music non stop

Отговор
в отговор на voyager #2

Re: igri na Java?

Animaziata se pravi s Thread

Отговор
в отговор на voyager #3

Re: igri na Java?

Точно така, с update() няма да стане, за плавна анимация се използва техниката на двойно буфериране. С прости думи изображението се създава първо в паметта преди да се покаже, като по този начин се премахва трептенето, защото update() първо изчиства старото изображение и чак след това вика paint(). Трябва да се предефинира update() така че директно да вика paint(g),
но изображението (g) трябва вече да е създадено:

public void update(Graphics g) {
paint(g);
}

Естествено, с нишки се работи.

В книгата на СофтПрес "Java 2 Пълно ръководство за сертифициране"
има подробно описание на проблема със код. Обаче струва 35 лв.

Отговор
в отговор на who #4

Re: igri na Java?

[линк]

Отговор
в отговор на voyager #5

Re: igri na Java?

Честно казано, на Java още не съм писал игри.

Thread-и не би трябвало да правиш за всеки обект, понеже ще ти отиде производителността. Ще трябва да си пазиш Image на прозореца, да си композираш кадър и накрая да заместваш предишния на цяло и пак може да имаш проблеми с производителността. Ако си го инстантваш (Image) всеки път - да ти е жив и здрав garbage collector-a - по-добре да си го update-ваш.

За да направиш нещо по-сериозно ще трябва да се навреш в hardware или да ползваш DirectX или от сорта, което малко ти обезмисля Java-та.

Надявам се да съм ти помогнал поне малко!

Отговор
в отговор на Holmes #6

10x mnogo :))

mersi, 4ove4e, za mene be6e vajno nai-ve4e da razbera kakva e osnovata, za6toto ne mi idva6e ni6to na uma :)) Pyk arkadnata igra mai na C++ 6te q pi6em ;))





дао дъ дзин

Отговор