
Jednoduchy grafický engine v JAVE 2D - resize
Ahoj,
vytvářím jednoduchý grafický engine pro 2D plátno.
Vytvořil jsem si smyčku, která rendruje podle zadaného fps (30).
Engine funguje:
Obrázek se vykreslí do BufferImage a následně se BufferImage vykreslí do JPanel.
Nerozumím tomu, jak efektivně pracovat s vykreslováním?
Jde o to, že když zvětším plátno(okno), zvětší se mi i obrázek.
- to nevím jak implementovat.
První pokus:
Vykreslit do BufferImage a následně změnit velikost BUfferImage.
- pomalé...
Můj další nápad je pracovat s nějakou scaling konstantou kterou bych násobil hodnoty, jak na to? Poradil by někdo?
Pro testování vykresluji šachovnici ve 2 forech a do prostřed plátna kruh.
Díky všem za rady.
EDIT:
Test:
Kreslit pomocí g.scale(x, y); některé velikosti "zrní".
Zapomen na swing komponenty a BufferedImage, to je na hry zalostne pomale.
Mel bys pouzit Canvas a kliknuty objekt zjistovat jen ze souradnic kliku.
PS: Knihu Programovani dokonalych her v Jave ti prodam za 100 + posta...
Ahoj, vím že to není ideální, ale jelikož se jedná o projekt do školy, tak to stačí, před rokem jsem dělal apku na androidy a tam jsem canvas používal.
O knihu teď nemám zájem, mám jich už kolem sebe dost (ale ne tich javovyských) a neměl bych na ní čas. :D