1 vaizdas iš 5
Kaip ir anksčiau, spustelėjame Pridėti vaizdus, kad įkeltume savo erdvėlaivį, ir pakoreguojame „ImageView“ vaizdo failo ypatybę, kad jis būtų rodomas. Naudojome vaizdų rengyklę, kad suteiktume grafiniam fonui skaidrų foną, kad jis būtų tvarkingai išdėstytas žaidimo lauko viršuje, ir išsaugojome išdėstymą pavadinimu „erdvėlaivis-išdėstymas“. Dabar laikas grįžti į redaktorių ir sukurti reikiamą kodą, kad erdvėlaivis judėtų. Štai ką mes sugalvojome:
Kaip rodo šis kodas, B4A animacijos yra objektai. Jie sukonfigūruojami naudojant metodus ir ypatybes ir suaktyvinami naudojant pradžios metodą, perduodant tikslinį objektą kaip parametrą. Mes naudojome InitializeTranslate metodą, norėdami nustatyti šoninį judėjimą, tačiau kitais metodais galime pagyvinti mūsų erdvėlaivio alfa (nepermatomumą), mastelį ir sukimąsi. Visi šie įrankiai yra B4A išorinėje animacijos bibliotekoje, taigi, jei norite susikurti šią programą patys, turėsite pridėti nuorodą į ją. Norėdami tai padaryti, spustelėkite, kad suaktyvintumėte „Libs“ skydelį B4A lango dešinėje ir pažymėkite „Animacija“.
![Animacijos biblioteka leidžia perkelti elementus ekrane naudojant kelias kodo eilutes](/f/bc55d4aa7a44d9ef7fcb769f2b92d5a0.png)
Kai bandysite paleisti šį kodą, iškart pamatysite, kad „Android“ sistemoje animuoti objektai grįžta į pradinę padėtį, kai animacija bus baigta. Mūsų programoje erdvėlaivis pakartotinai tolsta nuo pradinės vietos, tada grįžta į pradinę padėtį. Laimei, šią problemą galima lengvai išspręsti taip:
Kai animacija baigiama, iškeliamas AnimationEnd įvykis, kurį galime patikrinti naudodami įprastą įvykių tvarkymo antrinį elementą. Šioje dalyje mes naudojame SetLayout metodą, kad iš karto perkeltume erdvėlaivį į vietą, kurioje baigėsi animacija. Vartotojui atrodo, kad erdvėlaivis pajudėjo į paskirties vietą ir ten liko.
Galiausiai, ši programa taip pat iliustruoja laikmačių naudojimą įvykiams suaktyvinti. Kai programa pirmą kartą paleidžiama – tai yra, kai sukuriama pagrindinė veikla – nustatome laikmatį vienai sekundei (parametras milisekundėmis) ir įjungiame. Kadangi mūsų animacija truks 750 milisekundžių, rezultatas yra erdvėlaivis, kuris juda, trumpai dvejoja, tada vėl juda.
Programa veikia tol, kol išoriškai nutraukiama, tačiau galite lengvai pridėti elementų, kad vartotojas galėtų daugiau valdyti, pvz., leisti jam reguliuoti arba sustabdyti laikmatį. Arba galite sukurti „playArea_Touch“ įvykių tvarkyklę ir užprogramuoti erdvėlaivį, kad jis patektų į namus naudotojo pirštu, kai paliečiamas ekranas.
Valdymas keliomis orientacijomis
Mūsų skraidančios lėkštės programa tvarkingai įsitaiso ekrane portreto režimu, tačiau jei telefoną apverčiate ant šono – arba paspauskite Ctrl-F11 pasukti AVD į kraštovaizdžio režimą – orientacija pasikeičia ir staiga žaidimo sritis netelpa ekrane daugiau. Visi vaizdai išlaiko savo pradinę padėtį, palyginti su viršutiniu kairiuoju ekrano kampu, tačiau efektyviai keičiasi pats ekranas.