Išmokite programuoti „iOS“ žaidimus: pažinkite „Xcode“ (II)

Išmokite programuoti

Po paskutinės įmokos, pavadintos išmokti programuoti žaidimus „iOS“: „Xcode“ žinojimas, o prieš nerdami į „Cocos2d“, pasinerkime šiek tiek giliau į „Xcode“. Ta proga bendrausime su sukurtais elementais, užuot apsiriboję paprasčiausiu „Hello world“.

Tai įgysite įgūdžių tvarkant „Xcode“ ir galėsite greitai sukurti savo pirmąsias „naudingas“ programas; išmokdami pagrindinio mygtukų ir teksto etikečių naudojimo. Kadangi ši klasė yra šiek tiek sudėtingesnė nei ankstesnė, įrašo pabaigoje turėsite praktinį pavyzdį, kurį galėsite atsisiųsti, kad galėtumėte jį paleisti ir patikrinti, ar jis veikia tinkamai!

Pirmiausia atidarome „Xcode“ ir sukuriame naują projektą, pasirinkdami šabloną „vieno rodinio programa“, kaip ir ankstesnėje klasėje; Tai sukurs darbo sritį pagal vieną langą su „grafiniu asistentu“. Atidarę, mes pasirenkame failą peržiūros valdiklis.xib (Prisiminkime, kad tai yra mūsų pirmojo vaizdo ar scenos „grafinis veidas“, vadinamas „viewcontroller“ ir kurio „kodo“ dalis yra failuose peržiūros valdiklis.m y vaizdo valdiklis.h), ir mes einame į objektų langelį, esantį apačioje dešinėje, kad pradėtume vilkti komponentus į savo sceną: etiketes, mygtukus ... jame bus viskas!

Objektų įterpimas į „xcode“

Kaip matome paveikslėlyje, šį kartą mes nutempėme:

  • Objektas "etiketė«, Pavadinimo būdu. Tai nieko bendraus.
  • Kitas objektas «etiketė«, Kuriai priklausys skaitinės vertės.
  • A «žingsninio«, Atsakingas už ankstesnės« etiketės »skaitinės vertės padidinimą ar sumažinimą.
  • Un mygtukas patikrinti, ar skaitinė „etiketė“ atitinka anksčiau pasirinktą vertę.

Ar jau žinote, kas yra šis pratimas? Labai lengva; Turėsime pasirinkti savo amžių (metai iš metų su „stepper“) ir tada, naudodamiesi „Check“ mygtuku, išsiaiškinti, ar mes sulaukėme pilnametystės. Kad ir koks absurdiškas jis būtų edukacinis, atlikdami šį pratimą sužinosite iš a plunksnos smūgis keli dalykai.

Etikečių pritaikymas „xcode“

Kaip matote aukščiau esančiame paveikslėlyje, etiketės dydis ir spalva gali būti pritaikyti. Kiekviename objekte yra daugybė parametrų, kuriuos galite sužinoti, jei šiek tiek tyrinėjate. Palikę kiekvieno objekto savybes, kurios jums labiausiai patinka, atėjo laikas įvertinti: kol kas turime «nupieštas»Mūsų paraiška; niekas su niekuo nesąveika ... turime suteikti jam vienybę.

Norėdami tai padaryti, mes su kai kuriais sumaišysime código (labai elementarus ir elementarus paaiškinimas); konkrečiai su byla vaizdo valdiklis.h, kuriame pateikiami pagrindiniai „viewcontroller“ klasės apibrėžimai (pagrindinis mūsų langas!). Jis nevykdo kodo ar veiksmų, tik pakelia pagrindus ir reikiamas funkcijas, kad peržiūros valdiklis.m gali juos naudoti ir atlikti sunkų darbą ... kurį pamatysime atspindintį peržiūros valdiklis.xib! Visos trys tos pačios monetos pusės.

Tai paaiškinę, mes galime pradėti „kode“ apibrėžti visus objektus, kuriuos mes vizualiai apibrėžėme. Einame į archyvą vaizdo valdiklis.hir pridedame:

kintamųjų įgyvendinimas xcode

Yra keli būdai, kaip apibrėžti kintamuosius ar elementus, tačiau šiuo atveju, kadangi mums reikia elemento, kad galėtume juos pasiekti (savo langą, grafinę dalį), mes juos priskiriame tokiu būdu (pradedant nuo @property). Tai tema, kurią aptarsime būsimose klasėse, nes dabar verta žinoti, ar intuicija, ar nustatyti, ką kiekvienas nurodo: a «etiketė»(Tik vienas, nes mūsų sukurtas pavadinimas nieko nedarys ir jo nereikia apibrėžti kode), sveikasis skaičius kintamasis, vadinamas«Amžiaus dauguma»(Tai nauja, mes jos neįtraukėme į grafinę dalį. Joje bus įrašytas tik pilnametystės amžius, kad būtų galima palyginti),«žingsninio»(Vadinamas stepper1).

Be to, kas išdėstyta pirmiau, taip pat yra dvi funkcijos (dvi, kurios prasideda brūkšneliu, yra funkcijos); vienas iš jų bus atsakingas už ką nors padaryti, kai paspausime steperį (Pavyzdžiui, priversti „etiketę“ pakeisti mūsų amžių? tikslus), o kitas atsakingas už dabartinio etiketės amžiaus palyginimą su mūsų nustatytu.

Iki šiol turime apibrėžtą grafinę dalį ir kodo dalį. Tačiau kaip mes mokome savo programą, ką atitinka kiekvienas kodo kintamasis ar elementas, o jo atitikmuo - grafinėje dalyje? Na, labai lengva. Spustelėjame peržiūros valdiklis.xib, ir mes spustelėjame apvalų pilką mygtuką su „žaisti“ forma ir tekstu „rodyti dokumento kontūrą“, kurį randame kvadrato lapo apačioje kairėje. Tai padarius, bus rodomas skydelis su mūsų lango elementais.

Mes žiūrime į aukščiau esantį „Vietos ženklus“, kuriame yra du kubai: geltonas (Failo savininkas), kuriame objektus susiesime su kodu (etiketėmis, mygtukais ir kt.); ir dar vienas rausvas („First Responder“), kuriame mes susiesime apibrėžtas funkcijas su įvairiais veiksmais (pavyzdžiui, paspaudus mygtuką, funkcija vykdoma).

„Xcode“ kontūrų meniu

Mes pradedame nuo objektų. Dešiniuoju pelės mygtuku spustelėkite kubą «Failų savininkas» ir bus rodomas juodas meniu. Mes parodysime skyrių „Pardavimai“ ir pamatysime visus elementus, kuriuos mes apibrėžėme kode (yra tik du, etiketė ir stepper1); turime juos nuvilkti į atitinkamą grafinį elementą: etiketė su mūsų sukurta skaitmenine etikete ir steperis1 su steperiu.

Nuvilkę pamatysime, kaip sukuriamas „mėlynasis čiuptuvas“, kuris seka mūsų pelę iki norimo susieti objekto. (Pastaba: norėdami pradėti vilkimo procesą, turite spustelėti tuščius apskritimus šalia kiekvieno objekto pavadinimo, kaip nuotraukoje)

Objektų susiejimas xcode

Dabar jūs turite padaryti tą patį su funkcijomis; dešiniuoju pelės mygtuku spustelėkite „Pirmasis atsakymas“ ir mes atliksime šiuos veiksmus:

  1. Spustelėkite „checkAge“ ir neatleisdami traukiame prie savo grafinio lango mygtuko, tikrinančio amžių. Atsidaro naujas išskleidžiamasis meniu ir mes pasirenkame «Prisilietimas».
  2. Tą patį darome ir su „stepperValueChanged“, tačiau šį kartą jį nutempėme į savo grafinį „stepper“, o išskleidžiamajame meniu pasirenkame „Pakeista vertė“.

Veiksmų susiejimas „xcode“

Šiuo metu belieka pridėti „tikrąjį kodą“ peržiūros valdiklis.m; turime pasakyti, ką daryti su kiekvienu įvykusiu veiksmu. Pirmiausia sakome, kad žinotumėte kintamuosius, apibrėžtus vaizdo valdiklis.h (teisėtas amžiaus kintamasis, „stepper“ kintamasis ir etiketės kintamasis; abu susieti su grafiniu atitikmeniu) naudojant «@synthesize kintamas_vardas_elementas«, Kaip matome paveikslėlyje:

Kintamųjų įgyvendinimas xcode

Neišeidamas peržiūros valdiklis.m, mes nuėjome į funkciją viewDidLoad (bylos pabaigoje) ir šiek tiek žemiau to, kas jau parašyta, bet prieš «}«, Mes apibrėžiame, koks turėtų būti pilnametystės amžius mūsų šalyje. Šiuo atveju 18:

„Xcode didload“ funkcija

Galiausiai, mes ketiname sukurti ir programuoti funkcijos kad mes apibrėžėme viewcontroller.h (yra tik du). Vienas bus įvykdytas kiekvieną kartą, kai paspausime steperį, ir mūsų etiketėje turi būti rodomas kintantis amžius.

Kitas bus vykdomas, kai paspausime mygtuką patikrinti amžiųir patikrins (verta atleisti), ar mūsų įvestas amžius yra lygus ar didesnis už pilnametystės amžių: Jei atsakymas yra teigiamas, Programos fonas pasikeis į žalią; jei jo nėra, jis taps raudonas. Abi turi būti dedamos į bylą peržiūros valdiklis.m; pavyzdžiui, prieš pat funkciją - (negaliojantis) viewDidLoad.

klasės dvi funkcijos

Dabar ateina geriausia. Jūs turite tai išbandyti! Eikite į aukščiau esantį atkūrimo mygtuką, patikrinkite, ar pasirinktas „iPhone Simulator“, ir paspauskite jį. Jūsų langas bus atidarytas ir galėsite su juo bendrauti!

dviejų pratimų nuotrauka

Pratimą būtų galima padaryti sudėtingesnį, tačiau naudodamiesi pagrindais, kuriuos galėsite atlikti savarankiškai ir išbandyti naujas galimybes. Norėdami palengvinti vadovėlio laikymąsi, susidomėjęs smalsumu, arba tik tuo atveju, jei negalite priversti jo dirbti, pateikiame projektą archyvas suspaustas! Tikiuosi, kad tai jums tarnavo ... iki kito karto!

Daugiau informacijos - Išmokite programuoti: susipažinkite su „Xcode“ (I)

Parsisiųsti - Antroji „Xcode“ programavimo klasė


15 geriausių žaidimų
Jus domina:
15 geriausių „iPhone“ žaidimų
Sekite mus „Google“ naujienose

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Abeckoers sakė

    Puiku, tikiuosi, kad nedelsti - paskelbti daugiau kursų. Tačiau galite išsamiai nurodyti, ką daro kiekviena funkcija, pavyzdžiui: „*) siuntėjas“ ir „Pasirinktas:% d“, nes yra žmonių, neturinčių žinių apie tikslą-c. Labai geras postas.

    Linkėjimai Sergio Abril.

    1.    Sergio balandis sakė

      Sveiki!
      Labai ačiū, trumpai paaiškinu „greitai“ ir „lengvai“, nes tai labai sėkmingas klausimas:

      Paprastai apibrėždami funkciją, turite pridėti parametrus, kuriuos norite siųsti į tą funkciją ir su kuriais norite dirbti; Mygtukų ir laiptelių atveju juos pridedame, kad funkcija žinotų, kad ji paskambina tam tikram objektui (vieno atveju - UIB mygtukas, o kito atveju - UIStepper), kuriam pridedame pavadinimą. mes norime dirbti su funkcijos vidumi (šiuo atveju tiek „siuntėjas“, bet bet kas dirba). Vadinasi, po funkcijos pavadinimo yra dvitaškis, tada - (UIButton *) Sender.

      Norėdami parodyti, kad šios funkcijos gauna „objektą, kuris jas iškviečia“, nors tiesa, kad aš juo nepasinaudojau, pabandykite atlikti šiuos veiksmus:

      Funkcijoje „checkerValuechanged“ („viewcontroller.m“ viduje) pakeiskite visą rastą „stepper1“ pagal „siuntėjas“. Pamatysite, kad jis ir toliau veikia taip pat, o rezultatas yra tas pats (nors šio pratimo atveju aš nepasinaudojau duomenimis, kuriuos „siuntėjas“ gauna ir saugo, bet aš tiesiogiai nurodžiau „stepper1“ (kas yra tas pats) ... Taigi kyla abejonių .. taip gerai paklausta!

      Kalbant apie antrąjį, „NSLog“ yra ne kas kita kaip ekrano „žurnalas“, todėl tekstas, kurį dedame tarp kabučių, pasirodo žemiau „Xcode“ konsolėje. Jei be to, mes norime, kad jis parodytų tam tikras vertes, kad pamatytume, pavyzdžiui, šiuo atveju, kokią vertę stepper1 turi kiekvienu momentu, tai yra teisingas būdas ją pridėti; vieta, kur norime, kad reikšmė būtų% d, o po kabučių - kintamojo pavadinimas. (% d nurodo tai, kad tai yra sveiko skaičiaus reikšmė. Jei tai būtų, pavyzdžiui, dešimtainis skaičius, turėtumėte įdėti% f).

      Vienu metu galite pagalvoti, kad turėtume įdėti „NSLog“ (@ "pasirinktas: KINTAMAS");:% d ", KINTAMAS], kad aptikęs„% "žinotų, kad yra reikšmė, kurią įdėsime po kablelio .

      Tai šiek tiek painu, bet tikiuosi, kad paaiškinau save 😉

      1.    dAnn sakė

        Ačiū už dosnumą; tęskite 🙂

  2.   santi_xixon sakė

    Prašau nenustoti rašyti įrašo, jis yra labai naudingas ir tikrai patinka daugeliui žmonių, taip pat ir man.

  3.   Gustavo de la Rosa sakė

    Du jūsų kol kas turimi straipsniai yra puikūs. Tikiuosi, kad kiti galės toliau mokytis apie šią naują kalbą. Vienas klausimas, nes naudojamos funkcijos yra IBAction tipo, o ne tik negaliojančios?

  4.   VicT04- sakė

    Niekada nieko neužprogramavote ir viską darote taip paprastai nesvarbu, ar jie yra anglų kalba, tikiuosi, jūs galite padėti man ačiū.

  5.   Llusanas sakė

    Ar bus trečia dalis? Mes jau kovo mėn