Opi ohjelmoimaan pelejä iOS: lle: tutustuminen Xcode (II)

Opi ohjelmoimaan

Viimeisen erän jälkeen, otsikko opi ohjelmoimaan pelejä iOS: lle: Xcoden tunteminen, ja ennen kuin pääsemme Cocos2d: iin, sukelkaamme hieman syvemmälle Xcodeen. Tässä yhteydessä olemme vuorovaikutuksessa luotujen elementtien kanssa sen sijaan, että rajoittuisimme yksinkertaiseen "Hello world" -ohjelmaan.

Tämän avulla saat taitoja Xcode-koodin käsittelyyn ja pystyt tekemään ensimmäiset "hyödylliset" sovelluksesi nopeasti; oppimalla painikkeiden ja tekstitarrojen peruskäyttö. Koska tämä luokka on jonkin verran monimutkaisempi kuin edellinen, sinulla on käytännön esimerkki ladattavissa viestin lopussa, jotta voit suorittaa sen ja tarkistaa, että se toimii oikein!

Ensin avataan Xcode ja luodaan uusi projekti valitsemalla "yhden näkymän sovellus" -malli aivan kuten edellisessä luokassa; Tämä luo työtilan, joka perustuu yhteen ikkunaan ja sen «graafiseen avustajaan». Kun tiedosto on avattu, valitsemme tiedoston viewcontroller.xib (Muistakaa, että se on ensimmäisen näkymän tai kohtauksen "graafinen kasvot", nimeltään viewcontroller, ja jonka osa "koodista" on tiedostoissa viewcontroller.m y viewcontroller.h), ja menemme oikeassa alakulmassa olevaan esineiden ruutuun aloittaaksesi komponenttien vetämisen kohtauksellemme: tarrat, painikkeet ... siinä on kaikki!

Objektien lisääminen xcode-koodiin

Kuten näemme kuvasta, olemme tällä kertaa vetäneet seuraavaa:

  • Esine "etiketti«, Otsikon muodossa. Se ei ole vuorovaikutuksessa minkään kanssa.
  • Toinen esine «etiketti«, Joka pitää sisällään numeerisia arvoja.
  • A «stepper«, Vastaa edellisen« tarran »numeerisen arvon nostamisesta tai pienentämisestä.
  • Un nappi tarkistaa, että numeerinen "label" vastaa aiemmin valitsemaamme arvoa.

Tiedätkö jo, mistä tässä harjoituksessa on kyse? Erittäin helppoa; Meidän on valittava ikämme (vuosi kerralla «stepperillä») ja sitten tarkastuspainikkeen avulla selvitettävä, onko me täysi-ikäinen. Niin järjetöntä kuin se onkin opettavaista, tällä harjoituksella opit a kynän aivohalvaus useita tavaroita.

Tarrojen mukauttaminen xcodessa

Kuten yllä olevasta kuvasta näet, «tarrojen» koko ja väri voivat olla personoida. Jokaisella objektilla on useita parametreja, jotka voit selvittää, jos teet vähän tutkimusta. Kun olet jättänyt jokaiselle esineelle ominaisuudet, jotka pidät eniten, on aika tehdä tilanne: nyt meillä on «piirretty»Sovelluksemme; mikään ei ole vuorovaikutuksessa minkään kanssa ... meidän on annettava sille yhtenäisyys.

Tätä varten aiomme sotkea joidenkin kanssa koodi (hyvin yksinkertainen ja alkeellinen selitys); nimenomaan tiedoston kanssa viewcontroller.h, joka sisältää viewcontroller-luokan (pääikkunamme!) perusmäärittelyt. Se ei suorita koodia tai toimintoja, se vain määrittää perustan ja tarvittavat toiminnot niin viewcontroller.m osaa käyttää niitä ja tehdä kovaa työtä ... jonka näemme heijastuvan viewcontroller.xib! Kolikon kaikki kolme sivua.

Tämän selitetyn avulla voimme alkaa määritellä "koodissa" kaikki visuaalisesti määrittelemämme objektit. Menemme arkistoon viewcontroller.hja lisätään seuraava:

muuttujien toteuttaminen xcodessa

Muuttujia tai elementtejä voidaan määritellä useilla tavoilla, mutta tässä tapauksessa, koska tarvitsemme elementin päästäksesi niihin (ikkuna, graafinen osa), osoitamme ne tällä tavalla (alkaen @property). Aihe, jota käsittelemme tulevissa luokissa, nyt on syytä tietää, mihin kukin viittaa tai tunnistaa: a «etiketti»(Vain yksi, koska luomamme otsikko ei ole vuorovaikutuksessa minkään kanssa, eikä meidän tarvitse määritellä sitä koodissa), kokonaislukumuuttuja nimeltä«Ikä enemmistö»(Tämä on uusi, emme laittaneet sitä graafiseen osioon .. se tallentaa vain täysi-ikäisyyden vertailuun),«stepper»(Kutsutaan stepperiksi1).

Edellä mainittujen lisäksi on myös kaksi toimintoa (kaksi väliviivalla alkavaa toimintoa ovat toimintoja); yksi heistä vastaa jotain tekemisestä, kun painamme stepperiä (Esimerkiksi saako «etiketin» muuttaa ikäämme? tarkka) ja toinen, joka vastaa etiketin nykyisen iän vertaamisesta asettamaamme ikään.

Toistaiseksi meillä on määritelty graafinen osa ja myös koodiosa. Kuinka opetamme kuitenkin sovelluksellemme, mitä kukin koodin muuttuja tai elementti vastaa, ja vastaava graafisessa osassa? No, erittäin helppoa. Napsautamme viewcontroller.xib, ja napsautamme pyöreää harmaata painiketta, jonka muoto on "toista" ja teksti "näytä asiakirjan ääriviivat", jotka löydämme neliön vasemmasta alareunasta. Tämän avulla näyttöön tulee ikkuna, jossa on ikkunan elementit.

Tarkastelemme yllä olevaa "Paikkamerkit" -kuvaketta, joka sisältää kaksi kuutiota: keltainen (Tiedoston omistaja), jossa objektit liitetään koodiin (tarrat, painikkeet jne.); ja toinen punertava (First Responder), jossa yhdistämme määrittelemämme toiminnot eri toimintoihin (esimerkiksi kun painiketta painetaan, toiminto suoritetaan).

Xcode-ääriviivat-valikko

Aloitamme esineistä. Napsauta hiiren kakkospainikkeella "Tiedostojen omistaja" -kuvaketta, jolloin näyttöön tulee musta valikko. Näytämme "Outlets" -osion ja näemme kaikki elementit, jotka olemme määrittäneet koodissa (on vain kaksi, etiketti ja stepper1); meidän on vedettävä ne vastaavaan graafiseen elementtiin: etiketti luomamme numerotunnisteen kanssa askelmoottori 1 stepperin kanssa.

Kun vedämme sitä, näemme, kuinka luodaan "sininen lonkero", joka seuraa hiirtämme kohteeseen, jonka haluamme liittää. (Huomaa: vedon aloittamiseksi sinun on napsautettava tyhjiä ympyröitä kunkin objektin nimen vieressä, kuten kuvassa)

Objektien liittäminen xcode-koodiin

Nyt sinun on tehtävä sama toimintojen kanssa; napsauta hiiren oikealla painikkeella «Ensimmäinen vastaus» ja teemme seuraavat toimet:

  1. Napsautamme «checkAge» ja vapauttamatta vetämme graafisen ikkunan painikkeeseen, joka tarkistaa iän. Uusi avattava valikko avautuu ja valitsemme «Kosketa alas».
  2. Teemme samoin "stepperValueChanged" -toiminnon kanssa, mutta tällä kertaa vedämme sen graafiseen "stepperiin" ja valitsemme avattavasta valikosta "Value Changed".

Toimintojen yhdistäminen xcodeissa

Tällä hetkellä jäljellä on vain lisätä "oikea koodi" viewcontroller.m; meidän on kerrottava, mitä tehdä jokaiselle tapahtumalle. Aloitamme käskemällä sinua olemaan tietoinen kohdassa määritellyistä muuttujista viewcontroller.h (lakisääteinen ikämuuttuja, askelmuuttuja ja tunnistemuuttuja; molemmat liittyvät graafiseen vastineeseen) käyttämällä «@synthesize muuttujan_nimi_u_elementti«, Aivan kuten näemme kuvasta:

Muuttujien toteutus xcodessa

Poistumatta viewcontroller.m, suuntasimme toimintoon viewDidLoad (tiedoston lopussa), ja juuri jo kirjoitetun alapuolella, mutta ennen «}«, Määritämme täysi-ikäisyyden maassamme. Tässä tapauksessa 18:

Xcode-lataustoiminto

Lopuksi aiomme luoda ja ohjelmoida tehtävät jonka olemme määrittäneet viewcontroller.h-tiedostossa (niitä on vain kaksi). Yksi suoritetaan joka kerta, kun painamme stepperiä, ja sen on näytettävä muuttuva ikä «etiketissämme».

Toinen suoritetaan, kun painamme painiketta tarkista ikä, ja se tarkistaa (irtisanomisen arvoinen), onko antamasi ikä yhtä suuri tai suurempi kuin täysi-ikäisyys: Jos vastaus on myöntävä, sovelluksen tausta muuttuu vihreäksi; jos se ei ole, se muuttuu punaiseksi. Molemmat on sijoitettava tiedostoon viewcontroller.m; esimerkiksi juuri ennen toimintoa - (void) viewDidLoad.

luokan kaksi toimintoa

Nyt tulee paras. Sinun täytyy kokeilla sitä! Siirry yllä olevaan toistopainikkeeseen ja tarkista, että "iPhone Simulator" on valittu, ja paina sitä. Ikkunasi avautuu, ja voit olla vuorovaikutuksessa sen kanssa!

kuva harjoituksesta kaksi

Harjoituksesta voitaisiin tehdä monimutkaisempi, mutta tämän avulla sinulla on perusteet tutkia itse ja kokeilla uusia vaihtoehtoja. Opetusohjelman seuraamisen helpottamiseksi uteliaisuudesta tai yksinkertaisesti siltä varalta, että et voi saada sitä toimimaan, tässä on projekti arkisto pakattu! Toivon, että se on palvellut sinua ... seuraavaan kertaan asti!

Lisää tietoa - Opi ohjelmoimaan: tutustuminen Xcode (I)

Ladata - Toinen ohjelmointiluokka Xcodelle


15 parasta peliä
Olet kiinnostunut:
TOP 15 -pelit iPhonelle
Seuraa meitä Google-uutisissa

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Abekkoers dijo

    Täydellinen, toivottavasti et viivyttele on julkaista lisää kursseja. Mutta voit määrittää yksityiskohtaisesti, mitä kukin toiminto tekee, esimerkiksi: "*) lähettäjä" ja "Valittu:% d", koska on ihmisiä, joilla ei ole tietoa tavoitteesta-c. Erittäin hyvä viesti.

    Terveisiä Sergio Abril.

    1.    Sergio huhtikuu dijo

      Hei!
      Paljon kiitoksia, selitän lyhyesti "nopeasti" ja "helposti", koska kysymys on erittäin onnistunut:

      Yleensä, kun määrität funktion, sinun on lisättävä parametrit, jotka haluat lähettää tälle funktiolle ja joiden kanssa haluat työskennellä sen kanssa; Painikkeiden ja askelten tapauksessa lisätään ne siten, että funktio tietää, että se kutsuu tiettyä objektia (yhden tapauksessa UIB-painiketta ja toisen UIStepperiä), johon laitamme nimen haluamme työskennellä toiminnon sisäpuolella (tässä tapauksessa molemmat «lähettäjä», mutta kuka tahansa toimii). Funktion nimen jälkeen on siis kaksoispiste ja sitten (UIButton *) Lähettäjä.

      Kokeile seuraavaa osoittaaksesi, että nämä toiminnot vastaanottavat "objektin, joka kutsuu niitä", vaikka onkin totta, että en ole hyödyntänyt sitä.

      Korvaa checkerValuechanged-toiminto (viewcontroller.m-sisällä), kaikki löytämäsi "stepper1" lähettäjällä. Huomaat, että se toimii edelleen samalla tavalla, ja tulos on sama (vaikka tämän harjoituksen tapauksessa en ole käyttänyt hyväkseen tietoja, jotka "lähettäjä" vastaanottaa ja tallentaa, mutta olen viitannut suoraan stepperiin1 (mikä on sama) ... Tästä syystä syntyy epäilyksiä .. niin hyvin kysytty!

      Mitä tulee toiseen, NSLog ei ole muuta kuin näytön "loki", joten lainausmerkkien väliin laitettu teksti näkyy alla Xcode-konsolissa. Jos lisäksi haluamme, että se näyttää tiettyjä arvoja, esimerkiksi tässä tapauksessa, mikä arvo stepperillä on koko ajan, se on oikea tapa lisätä se; sijoittamalla kohtaan, johon haluamme arvon mennä,% d, ja lainausmerkkien jälkeen muuttujan nimi. (% d viittaa siihen, että se on kokonaisluku. Jos se olisi esimerkiksi desimaali, sinun tulisi laittaa% f).

      Jossain vaiheessa saatat ajatella, että meidän pitäisi laittaa NSLog (@ »valittu: MUUTTAVA»); turvautua NSLogiin (@ »valittu:% d", MUUTTAVA), niin että "%" havaitessaan se tietää, että on arvo, jonka sijoitamme pilkun jälkeen.

      Se on vähän hämmentävää, mutta toivon, että olen selittänyt itselleni 😉

      1.    dAnn dijo

        Kiitos anteliaisuudesta; jatka sitä 🙂

  2.   santi_xixon dijo

    Älä lopeta viestin tekemistä, se on erittäin hyödyllinen ja varmasti monet ihmiset, myös minä, pitävät siitä.

  3.   Gustavo de la Rosa dijo

    Kaksi tähän mennessä kirjoittamaasi artikkelia ovat erinomaisia. Odotan seuraavia, että voin jatkaa tämän uuden kielen oppimista. Yksi kysymys, koska käytetyt toiminnot ovat IBAction-tyyppisiä eivätkä vain tyhjiä?

  4.   VicT04- dijo

    Et ole koskaan ohjelmoinut jotain ja teet kaiken niin yksinkertaiseksi, kiitos paljon artikkelien kirjoittamisesta, odotan toisia, anteeksi, mutta jotkut kirjat tai verkkosivut jatkavat aiheen opiskelua. Olen erittäin utelias oppimaan tekemään sovelluksia , ei ole väliä, ovatko ne englanniksi, toivon, että voit auttaa minua kiitos.

  5.   llusan dijo

    Onko kolmas osa? Olemme jo maaliskuussa