App Inventor Űrhajó

Most megvalósítjuk az űrhajós játék mobiltelefonos változatát. A Scratch változat itt látható: https://scratch.mit.edu/projects/238536384/. (Ehhez hasonló program található itt: http://appinventor.mit.edu/explore/ai2/space-invaders.html.) A megvalósítás során néhány előre valószínűleg nem várt nehézséggel nézünk szembe:

  • Az App Inventorban nem lehet szereplőről másolatot készíteni. Ez egy olyan korlátozás, mely kizárja pl. azt, hogy egyszerre több golyó legyen a képernyőn.
  • Az App Inventor szereplőválasztéka igen gyér: lehet kitöltött kör (ami a golyónak pont megfelel), és egy általános szereplő, amihez nekünk magunknak kell feltöltenünk a képét. A képek többnyire pixelesek (és valószínűleg nem is tud a rendszer vektoros képet kezelni).
  • Ezzel kapcsolatos következő probléma: a kép beszerzése. Fontos ugyanis, hogy a háttér átlátszó legyen. (Az ilyen képek elkészítése kívül esik ezen a tanfolyamon)

A mostani programhoz az alábbi szereplőkre lesz szükség, melyeket a megvalósítás felgyorsítása érdekében innen feltölthetőek:

A képernyő portré módú legyen. A designerben hozzuk létre az alábbit:

  • A Screen1-en adjunk nevet a játéknak, pl. Űrhajó.
  • Adjunk hozzá egy vásznat (Canvas), amely kitölti a teljes ablakot. A színe legyen fekete.
  • A vászonra helyezzünk 4 szereplőt:
    • Űrhajó (ImageSprite, a magasság-szélesség legyen 100x70 képpont, a képe (Picture) legyen a fenti űrhajó, az X-Y pozíciója (120, 300))
    • Boszorka (ImageSprite, 70x80 képpont, boszorkány kép, (120, 0), a sebessége (Speed) legyen 10.0)
    • Vége (ImageSprite, 50x150, vége kép, (87, 127), kapcsoljuk ki a láthatóságát)
    • Golyó (Ball, narancssárga, átmérő: 10, a pozíció mindegy, kapcsoljuk ki a láthatóságát)
%C5%B1rhaj%C3%B3-komponensek.png

A képernyő így néz ki:

%C5%B1rhaj%C3%B3-kin%C3%A9zet.png

Készítsük el a kódot!

  • Az űrhajó mozgatásának a kódja az alábbi. Mivel igen látványos, kezdhetjük ezzel. Mozgatni a szereplő vonszolásával tudjuk.
%C5%B1rhaj%C3%B3-k%C3%B3d1.png
  • A játék elején az beállító rész a következő. Célszerű a fenti kódrészlet fölé helyezni. Az új_játék egy eljárás: Procedures → to … do; itt adjunk neki nevet. (Az boszi szintén egy eljárás, amit később valósítunk meg; azt egyelőre hagyjuk ki.)
%C5%B1rhaj%C3%B3-k%C3%B3d2.png
  • Ha a játékos rákattint az űrhajóra, akkor az űrhajó lő egyet. Amíg egy golyó repül, másikat nem lehet lőni. Ennek ez a kódja:
%C5%B1rhaj%C3%B3-k%C3%B3d3.png
  • A boszorkány kódja az alábbi. Ha a boszorkány eléri a játéktér szélét, akkor egy fenti véletlenszerű pozícióba ugrik, és elindul az űrhajó felé. Ne feledjük a már elkészített új_játék eljárásba beletenni az eljárás meghívását.
%C5%B1rhaj%C3%B3-k%C3%B3d4.png
  • Ha a golyó eltalálja a boszorkányt, akkor az eltűnik, majd újraindul.
%C5%B1rhaj%C3%B3-k%C3%B3d5.png
  • Ha a boszorkány nekimegy az űrhajónak, akkor véget ér a játék.
%C5%B1rhaj%C3%B3-k%C3%B3d6.png
  • Végül a játék újraindul, ha rákattintunk a VÉGE feliratra.
%C5%B1rhaj%C3%B3-k%C3%B3d7.png

Végeredmény: Urhajo.aia.

Még nagyon sok kiterjesztési lehetőség van: több élet, több szereplővel megoldott több golyó és több boszorkány, gyorsuló, nehezedő játék, pontszámítás stb.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License