LibGDX graafika

Graafika moodul annab informatsiooni seadme ekraani ja rakenduse akna kohta. Lisaks annab see infot ja ligipäesu OpenGL kontekstile. Täpsemalt sisaldab see informatsiooni ekraani suuruse, pikslite tiheduse, kaadri puhveri seadistuste kohta.
Täpsemalt saab selle kohta logeda https://libgdx.com/wiki/graphics/graphics

Näidisprojekt

Repo

Näidisprojektiks on lihtne rakendus, milles ruut põrkub rakenduse akna servade vastu ja muudab seda tehes värvi. Selle saavutamiseks on kasutatud paari LibGDX Graphics funktsiooni. Kood on kommenteeritud eesti- ja inglise keeles.

Näidisprojekti MyGdxGame sisaldab 3 klassi. Klassis MyGdxGame on loodud instants objektist Ruut. See ruut hakkab ebdaspidi ringi põrkuma rakenduse aknas. Ruudu konstruktoris on argumendina sisestatud Ruudu esialgne asokoht Vector2 kujul.

Ruut klass sisaldab loogikat ruudu liikumise, põrkumise ja värvi muutmise jaoks. Meetod Uuenda() Muudab ruudu positsiooni nii, et selle liikumise kiirus ei sõltu kaadri renderdamise kiirusest (inglise keelse fps). Selleks kasutab see Gdx.graphics meetodit getDeltaTime(). getDeltaTime() tagastab möödunud aja viimase kaadri renderdamisest, seega kui ruudu positsiooni muutmisel selle kiirus korrutada läbi getDeltaTime() tulemusega, liigub ruut alati sama keskmise kiirusega, olenemata kaadrite renderdamise kiirusest.

Akna servade vastu põrkamisega tegeleb sammuti meetod Uuenda(). Selleks kasutame gdx.graphics meetodeid getWidth() ja getHeight(). Neid meetodeid kasutame ruudu ja akna laiuse ja kõrguse leidmiseks. Kasutades nendest meetoditest saadud infot saame ruudu liikumise piirata akna raamesse.

Ruudu liikumise suuna muutmiseks peale akna serva vastu põrkamist ja ruudu värvi muutmiseks kasutame meetodut Porka(int suund). See meetod kasutab gdx.graphics Color() meetodit. Seda meetodit kasutades saame tekstuuride / spriitide värve muuta, kasutades olemasolevat värvide kogumit (vormis Color.GREEN), või kasutades heks notatsiooni (vormis Color.valueOf("#00FF00")).