Naučite programirati igre za iOS: upoznavanje Xcode-a (II)

Naučite programirati

Nakon posljednje rate, naslovljeno naučite programirati igre za iOS: Poznavanje Xcodea, i prije nego što zaronimo u Cocos2d, zaronimo malo dublje u Xcode. Ovom prilikom ćemo stupiti u interakciju sa stvorenim elementima, umjesto da se ograničimo na jednostavan "Hello world".

Ovim ćete steći vještinu za rukovanje Xcodeom i moći ćete brzo izraditi svoje prve "korisne" aplikacije; učenjem osnovne upotrebe tipki i tekstualnih naljepnica. Budući da je ova klasa nešto složenija od prethodne, na kraju posta imat ćete dostupan praktični primjer za preuzimanje kako biste je mogli pokrenuti i provjeriti radi li ispravno!

Prvo, otvaramo Xcode i stvaramo novi projekt odabirom predloška "aplikacija za jedan prikaz", baš kao u prethodnoj klasi; Ovo će stvoriti radni prostor zasnovan na jednom prozoru, sa svojim „grafičkim pomoćnikom“. Jednom otvoreni odabiremo datoteku viewcontroller.xib (Sjetimo se da je to "grafičko lice" našeg prvog pogleda ili scene, nazvano viewcontroller, i čiji je dio "koda" u datotekama viewcontroller.m y viewcontroller.h), i idemo u okvir s objektima, koji se nalazi dolje desno, kako bismo počeli povlačiti komponente na našu scenu: naljepnice, gumbi ... u njemu će biti svega!

Umetanje objekata u xcode

Kao što vidimo na slici, ovaj put smo povukli sljedeće:

  • Objekt "etiketa«, Kao naslov. Neće komunicirati ni sa čim.
  • Još jedan objekt «etiketa«, Koji će sadržati numeričke vrijednosti.
  • A «steper«, Zadužen za povećanje ili smanjenje brojčane vrijednosti prethodne« oznake ».
  • Un dugme kako bismo provjerili podudara li se numerička "oznaka" s vrijednošću koju smo prethodno odabrali.

Znate li već o čemu se radi u ovoj vježbi? Vrlo jednostavno; Morat ćemo odabrati svoju dob (iz godine u godinu pomoću „koraka“), a zatim pomoću dugmeta za potvrdu saznati jesmo li punoljetni. Koliko god apsurdno bilo edukativno, s ovom vježbom naučit ćete od potez olovke nekoliko stvari.

Prilagođavanje naljepnica u xcodeu

Kao što vidite na gornjoj slici, veličina i boja «naljepnica» mogu biti prilagoditi. Svaki objekt ima mnoštvo parametara koje možete saznati ako malo istražite. Nakon što ostavite svaki predmet sa karakteristikama koje vam se najviše sviđaju, vrijeme je da napravite zalihu: za sada imamo «izvučen»Naša aplikacija; ništa ne komunicira ni sa čim ... moramo mu dati jedinstvo.

Da bismo to učinili, zezat ćemo se s nekima kod (vrlo osnovno i osnovno objašnjeno); konkretno uz datoteku viewcontroller.h, koji sadrži osnovne definicije klase viewcontroller (naš glavni prozor!). Ne izvršava kod ili radnje, već samo uspostavlja osnove i potrebne funkcije, tako da viewcontroller.m mogu ih koristiti i raditi naporan posao ... u čemu ćemo vidjeti viewcontroller.xib! Sve tri strane iste medalje.

Uz ovo objašnjeno, možemo početi definirati u "kodu" sve objekte koje smo vizualno definirali. Idemo u arhivu viewcontroller.h, i dodajemo sljedeće:

implementacija varijabli u xcode

Postoji nekoliko načina za definiranje varijabli ili elemenata, ali u ovom slučaju, budući da nam je potreban element za pristup (naš prozor, grafički dio), dodijelimo ih na ovaj način (počevši od @property). To je tema kojom ćemo se baviti u budućim časovima, za sada vrijedi znati na što se svaka odnosi ili identificirati: «etiketa»(Samo jedan, budući da naslov koji kreiramo neće imati interakcije ni sa čim i ne trebamo ga definirati u kodu), cjelovita varijabla pod nazivom«Dobna većina»(Ovo je novo, nismo ga stavili u grafički odjeljak .. pohranit će samo punoljetnost za usporedbe),«steper»(Zvani steper1).

Pored gore navedenog, postoje i dvije funkcije (dvije koje počinju crticom su funkcije); jedan od njih bit će zadužen za nešto kad pritisnemo steper (Na primjer, učinite da "oznaka" promijeni naše godine? točno), a drugi zadužen za usporedbu trenutne starosti etikete s onom koju smo postavili.

Do sada imamo definirani grafički dio, a također i kodni dio. Međutim, kako naučiti našu aplikaciju čemu odgovara svaka varijabla ili element koda, sa svojim ekvivalentom u grafičkom dijelu? Pa, vrlo lako. Kliknemo na viewcontroller.xibi kliknemo na okruglo sivo dugme s oblikom «igrati» i tekstom «prikaži obris dokumenta», koji nalazimo u donjem lijevom uglu kvadratnog lista. Ovim će se prikazati ploča s elementima našeg prozora.

Gledamo "Placeholders" gore, koji sadrži dvije kocke: žutu (vlasnik datoteke), gdje ćemo povezati objekte sa kodom (oznake, dugmad, itd.); i još jedan crvenkasti (First Responder), gdje ćemo funkcije koje smo definirali pridružiti raznim akcijama (na primjer, kada se pritisne tipka izvršava se funkcija).

Xcode konturni meni

Počinjemo s objektima. Desni klik na kocku «Vlasnik datoteka» i prikazat će se crni meni. Prikazujemo odjeljak "Outlets" i vidjet ćemo sve elemente koje smo definirali u kodu (postoje samo dva, label i stepper1); moramo ih povući do odgovarajućeg grafičkog elementa: etiketa s numeričkom oznakom koju smo stvorili i stepper1 sa stepenikom.

Kad ga povučemo, vidjet ćemo kako se stvara "plavi pipak" koji slijedi našeg miša do objekta kojeg želimo povezati. (Napomena: da biste započeli postupak povlačenja, morate kliknuti na prazne krugove pored imena svakog objekta, kao na fotografiji)

Pridruživanje objekata u xcodeu

Sada to morate učiniti sa funkcijama; desnim klikom na «Prvi odgovor» i radimo sljedeće:

  1. Kliknemo na «checkAge» i bez puštanja povučemo do gumba našeg grafičkog prozora, onog za provjeru starosti. Otvara se novi padajući izbornik i biramo «Touch down».
  2. Isto radimo sa "stepperValueChanged", ali ovaj put ga povlačimo na naš grafički "stepper", a u padajućem izborniku odabiremo "Value Changed".

Pridruživanje radnji u xcodeu

Trenutno ostaje samo dodati "pravi kod" viewcontroller.m; moramo vam reći šta učiniti sa svakom radnjom koja se dogodi. Za početak vam kažemo da budete svjesni varijabli definiranih u viewcontroller.h (zakonska varijabla starosti, koračna varijabla i varijabla oznake; oboje povezane sa svojim grafičkim kolegom) pomoću «@synthesize variable_name_u_element«, Baš kao što vidimo na slici:

Implementacija varijabli u xcode

Bez odlaska viewcontroller.m, uputili smo se na funkciju viewDidLoad (na kraju datoteke) i odmah ispod onoga što je već napisano, ali prije «}«, Mi definišemo koja bi punoljetnost trebala biti u našoj zemlji. U ovom slučaju, 18:

Xcode funkcija za učitavanje

Konačno, kreiraćemo i programirati funkcije koje smo definirali u viewcontroller.h (postoje samo dva). Jedan će se izvršiti svaki put kad pritisnemo koračni korak, a na našoj «oznaci» mora biti prikazano doba koje se mijenja.

Drugi će se izvršiti kada pritisnemo dugme provjeri starost, i provjerit će (vrijedi li tehnološkog viška) je li dob koju smo unijeli jednaka ili veća od punoljetnosti: Ako je odgovor potvrdan, pozadina aplikacije promijenit će se u zelenu; ako nije, postat će crvena. Oboje moraju biti stavljeni u datoteku viewcontroller.m; na primjer, neposredno prije funkcije - (void) viewDidLoad.

klasa dvije funkcije

Sada dolazi najbolje. Morate probati! Idite na gornje dugme za reprodukciju, provjerite je li odabran "iPhone Simulator" i pritisnite ga. Vaš će se prozor otvoriti i možete komunicirati s njim!

fotografija vježbe dva

Vježba bi mogla biti složenija, ali s tim imate osnovu za samostalno istraživanje i isprobavanje novih opcija. Da biste olakšali praćenje uputa, iz znatiželje ili jednostavno u slučaju da to ne možete učiniti, evo projekta u arhiva stisnuto! Nadam se da vam je poslužilo ... do sljedećeg puta!

Više informacija - Naučite programirati: upoznavanje Xcode-a (I)

Skinuti - Druga klasa programiranja za Xcode


Top 15 igara
Zanimaju vas:
TOP 15 igara za iPhone
Pratite nas na Google Vijestima

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Abeckoers rekao je

    Savršeno, nadam se da nećete odgoditi da objavite još tečajeva. Ali možete detaljno navesti šta svaka funkcija radi, na primjer: "*) pošiljatelj" i "Odabrano:% d", jer postoje ljudi koji nemaju znanje o cilju-c. Vrlo dobar post.

    Pozdrav Sergio Abril.

    1.    Sergio April rekao je

      Hello!
      Hvala vam puno, objašnjavam ukratko, na "brz" i "lak" način, jer je to vrlo uspješno pitanje:

      Generalno kada definirate funkciju, morate dodati parametre koje želite poslati toj funkciji i s kojima želite raditi na njoj; U slučaju tipki i stepera, dodajemo ih tako da funkcija zna da poziva određeni objekt (u slučaju jednog UIButton, a u slučaju drugog UIStepper), kojem dodamo ime želimo raditi s unutrašnjošću funkcije (u ovom slučaju oba «pošiljatelja», ali svi rade). Stoga, iza naziva funkcije, stoji dvotačka, a zatim (UIButton *) Pošiljatelj.

      Da bismo vam pokazali da ove funkcije primaju "objekt koji ih poziva", iako je istina da to nisam iskoristio, pokušajte sljedeće:

      Zamijenite u funkciji checkerValuechanged (unutar viewcontroller.m), sve "stepper1" koje pronađete, sa "pošiljalac". Vidjet ćete da i dalje radi isto, a rezultat je isti (iako u slučaju ove vježbe nisam iskoristio podatke koje "pošiljatelj" prima i čuva, ali izravno sam se pozvao na stepper1 (što je isto) ... Otuda se pojavljuju sumnje .. tako dobro pitani!

      Što se tiče drugog, NSLog nije ništa više od "dnevnika" ekrana, tako da se tekst koji stavljamo između navodnika pojavljuje ispod u Xcode konzoli. Ako, pored toga, želimo da prikazuje određene vrijednosti, da vidimo, na primjer u ovom slučaju, koju vrijednost stepper1 ima u svakom trenutku, to je ispravan način da ga dodamo; postavljanje tamo gdje želimo da vrijednost ide% d, a nakon navodnika naziv varijable. (% d se odnosi na činjenicu da je cijela vrijednost. Da je, na primjer, decimalna vrijednost, morali biste staviti% f).

      U jednom trenutku biste mogli pomisliti da bismo trebali staviti NSLog (@ "selected: VARIABLE");:% d ", VARIABLE), tako da prilikom otkrivanja"% "zna da postoji vrijednost koju ćemo staviti nakon zareza .

      Pomalo je zbunjujuće, ali nadam se da sam objasnio 😉

      1.    dAnn rekao je

        Hvala na vašoj velikodušnosti; nastavi tako 🙂

  2.   santi_xixon rekao je

    Molim vas, nemojte prestati objavljivati ​​post, vrlo je koristan i sigurno se sviđa mnogim ljudima, uključujući mene.

  3.   Gustavo de la Rosa rekao je

    Dva članka koja imate do sada su izvrsna. Radujem se sljedećim da nastavim učiti o ovom novom jeziku. Jedno pitanje, jer su korištene funkcije tipa IBAction, a ne samo void?

  4.   VicT04- rekao je

    Nikad niste nešto programirali, a sve ste učinili tako jednostavnim, puno vam hvala što ste napisali ove članke, radujem se ostalim, žao mi je, ali neke knjige ili web stranice za nastavak proučavanja predmeta Jako sam znatiželjan da naučim kako se prijaviti , nije bitno jesu li na engleskom jeziku, nadam se da mi možete pomoći.

  5.   llusan rekao je

    Hoće li biti trećeg dijela? Već smo u martu