Belajar memprogram game untuk iOS: mengenal Xcode (II)

Belajar memprogram

Setelah angsuran terakhir, berjudul belajar memprogram game untuk iOS: Mengenal Xcode, dan sebelum kita menyelami Cocos2d, mari selami Xcode lebih dalam. Pada kesempatan ini, kita akan berinteraksi dengan elemen yang dibuat, alih-alih membatasi diri pada "Halo dunia" yang sederhana.

Dengan ini, Anda akan memperoleh keterampilan dalam menangani Xcode, dan Anda akan dapat membuat aplikasi "berguna" pertama Anda dengan cepat; dengan mempelajari penggunaan dasar tombol dan label teks. Karena kelas ini agak lebih kompleks dari yang sebelumnya, Anda akan memiliki contoh praktis yang tersedia untuk diunduh di akhir posting, sehingga Anda dapat menjalankannya dan memeriksa apakah itu berfungsi dengan benar!

Pertama, kita membuka Xcode dan membuat proyek baru dengan memilih template "aplikasi tampilan tunggal", seperti di kelas sebelumnya; Ini akan membuat ruang kerja berdasarkan satu jendela, dengan «asisten grafis» -nya. Setelah terbuka, kita pilih file tersebut viewcontroller.xib (Ingatlah bahwa ini adalah "tampilan grafis" dari tampilan atau adegan pertama kita, yang disebut viewcontroller, dan yang bagian "kode" -nya ada di file viewcontroller.m y viewcontroller.h), dan kami pergi ke kotak objek, yang terletak di kanan bawah, untuk mulai menyeret komponen ke adegan kami: label, tombol ... itu akan memiliki segalanya!

Memasukkan objek di xcode

Seperti yang kita lihat pada gambar, kali ini kita telah menyeret yang berikut ini:

  • Sebuah Objek "label«, Dengan judul. Itu tidak akan berinteraksi dengan apapun.
  • Objek lain «label«, Yang akan menyimpan nilai numerik.
  • A «stepper«, Bertanggung jawab untuk menambah atau mengurangi nilai numerik dari« label »sebelumnya.
  • Un tombol untuk memeriksa apakah "label" numerik cocok dengan nilai yang telah kita pilih sebelumnya.

Apakah Anda sudah tahu tentang apa latihan ini? Sangat mudah; Kami harus memilih usia kami (tahun demi tahun dengan «stepper»), dan kemudian, menggunakan tombol centang, mencari tahu apakah kami cukup umur. Meskipun tidak masuk akal dan mendidik, dengan latihan ini Anda akan belajar dari a goresan pena beberapa hal.

Kustomisasi label di xcode

Seperti yang Anda lihat pada gambar di atas, ukuran dan warna «label» bisa menyesuaikan. Setiap objek memiliki banyak parameter yang dapat Anda temukan jika Anda menyelidikinya sedikit. Setelah Anda meninggalkan setiap objek dengan karakteristik yang paling Anda sukai, sekarang saatnya untuk mempertimbangkan: untuk saat ini kami memiliki «ditarik»Aplikasi kami; tidak ada yang berinteraksi dengan apa pun ... kita perlu memberinya kesatuan.

Untuk melakukan ini, kita akan mengacaukan beberapa código (dijelaskan sangat mendasar, dan belum sempurna); khusus dengan file tersebut viewcontroller.h, yang menampung definisi dasar dari kelas viewcontroller (jendela utama kita!). Itu tidak mengeksekusi kode atau tindakan, itu hanya menetapkan basis dan fungsi yang diperlukan, sehingga viewcontroller.m dapat menggunakannya dan melakukan kerja keras ... yang akan kita lihat tercermin viewcontroller.xib! Ketiga sisi mata uang yang sama.

Dengan penjelasan ini, kita dapat mulai mendefinisikan dalam "kode" semua objek yang telah kita definisikan secara visual. Kami pergi ke arsip viewcontroller.h, dan kami menambahkan yang berikut ini:

menerapkan variabel di xcode

Ada beberapa cara untuk mendefinisikan variabel atau elemen, tetapi dalam kasus ini, karena kami membutuhkan elemen untuk mengaksesnya (jendela kami, bagian grafik), kami menetapkannya dengan cara ini (dimulai dengan @property). Ini adalah topik yang akan kita bahas di kelas-kelas mendatang, untuk saat ini perlu diketahui apa yang masing-masing mengacu atau identifikasi: a «label»(Hanya satu, karena judul yang kita buat tidak akan berinteraksi dengan apapun, dan kita tidak perlu mendefinisikannya dalam kode), variabel integer disebut«Mayoritas Umur»(Ini baru, kami tidak meletakkannya di bagian grafik .. itu hanya akan menyimpan usia mayoritas untuk membuat perbandingan), sebuah«stepper»(Disebut stepper1).

Selain di atas, ada juga dua fungsi (dua yang dimulai dengan tanda hubung adalah fungsi); salah satu dari mereka akan bertugas melakukan sesuatu saat kita menekan stepper (Misalnya, membuat "label" mengubah usia kita? tepat), dan yang lain bertugas membandingkan usia label saat ini dengan yang telah kita tetapkan.

Sejauh ini kita telah menentukan bagian grafik, dan juga bagian kode. Namun, bagaimana kita mengajarkan aplikasi kita apa yang sesuai dengan setiap variabel atau elemen kode, dengan padanannya di bagian grafik? Nah, sangat mudah. Kami mengklik viewcontroller.xib, dan kami mengklik tombol abu-abu bulat dengan bentuk «putar» dan teks «tampilkan garis besar dokumen», yang kami temukan di kiri bawah lembar persegi. Dengan ini, panel dengan elemen jendela kita akan ditampilkan.

Kita melihat di atas, di «Placeholder», yang berisi dua kubus: kubus kuning (Pemilik file), yang mana kita akan mengasosiasikan objek dengan kode (label, tombol, dll); dan satu lagi kemerahan (First Responder), di mana kita akan mengasosiasikan fungsi yang telah kita definisikan ke berbagai tindakan (misalnya, saat menekan tombol, suatu fungsi dijalankan).

Xcode menguraikan menu

Kami mulai dengan objek. Klik kanan pada kubus "Pemilik File", dan menu hitam akan ditampilkan. Kami menampilkan bagian "Outlet", dan kami akan melihat semua elemen yang telah kami tentukan dalam kode (hanya ada dua, label dan stepper1); kita harus menyeretnya ke elemen grafis yang sesuai: label dengan label numerik yang telah kita buat, dan langkah1 dengan stepper.

Saat kita menyeretnya, kita akan melihat bagaimana "tentakel biru" dibuat yang mengikuti mouse kita ke objek yang ingin kita kaitkan. (Catatan: untuk memulai proses menyeret, Anda harus mengklik lingkaran kosong di sebelah nama setiap objek, seperti pada foto)

Mengaitkan objek di xcode

Sekarang Anda harus melakukan hal yang sama dengan fungsinya; klik kanan pada «First Reply», dan kami melakukan hal berikut:

  1. Kami mengklik «checkAge», dan tanpa melepaskan, kami menyeret hingga tombol jendela grafik kami, yang untuk memeriksa usia. Menu drop-down baru terbuka dan kami memilih «Touch down».
  2. Kami melakukan hal yang sama dengan "stepperValueChanged", tetapi kali ini kami menyeretnya ke "stepper" grafik kami, dan di menu drop-down kami memilih "Value Changed".

Mengaitkan tindakan di xcode

Sekarang tinggal menambahkan «kode nyata» ke viewcontroller.m; kami harus memberi tahu Anda apa yang harus dilakukan dengan setiap tindakan yang terjadi. Kami mulai dengan memberi tahu Anda untuk mengetahui variabel yang ditentukan di viewcontroller.h (variabel usia resmi, variabel stepper, dan variabel label; keduanya terkait dengan pasangan grafisnya) menggunakan «@sintesiskan_variabel_u_lemen«, Seperti yang kita lihat di gambar:

Implementasi variabel di xcode

Tanpa pergi viewcontroller.m, kami menuju ke fungsinya lihatApakahMemuat (di akhir file), dan tepat di bawah apa yang sudah tertulis, tetapi sebelum «}«, Kami mendefinisikan usia mayoritas di negara kami. Dalam kasus ini, 18:

Fungsi didload Xcode

Terakhir, kita akan membuat dan memprogram file fungsi yang telah kita definisikan di viewcontroller.h (hanya ada dua). Satu akan dieksekusi setiap kali kita menekan stepper, dan itu harus menunjukkan usia yang berubah, di «label» kita.

Yang lainnya akan dieksekusi saat kita menekan tombol periksa usia, dan akan memeriksa (sepadan dengan redundansi) jika usia yang kita masukkan sama dengan atau lebih besar dari usia mayoritas: Jika jawabannya setuju, latar belakang Aplikasi akan berubah menjadi hijau; jika tidak, warnanya akan menjadi merah. Keduanya harus ditempatkan di file viewcontroller.m; misalnya, tepat sebelum fungsi - (void) viewDidLoad.

kelas dua fungsi

Sekarang datang yang terbaik. Kamu harus mencobanya! Pergi ke tombol putar di atas, periksa bahwa "Simulator iPhone" dipilih, dan tekan. Jendela Anda akan terbuka, dan Anda dapat berinteraksi dengannya!

foto latihan dua

Latihan ini dapat dibuat lebih kompleks, tetapi dengan ini Anda memiliki dasar untuk menyelidiki sendiri, dan mencoba opsi baru. Untuk membuatnya lebih mudah mengikuti tutorial, karena penasaran, atau hanya jika Anda tidak dapat membuatnya berfungsi, berikut adalah proyek di arsip dikompresi! Saya harap ini melayani Anda ... sampai waktu berikutnya!

Informasi lebih lanjut - Belajar program: mengenal Xcode (I)

Unduh - Kelas pemrograman kedua untuk Xcode


15 Game Teratas
Anda tertarik dengan:
15 game TOP untuk iPhone
Ikuti kami di Google Berita

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Abeckoer dijo

    Sempurna, saya harap Anda tidak menunda adalah menerbitkan lebih banyak kursus. Tetapi Anda dapat menentukan secara detail apa fungsi masing-masing, misalnya: "*) sender" dan "Chosen:% d" karena ada orang yang tidak memiliki pengetahuan tentang tujuan-c. Posting yang sangat bagus.

    Salam Sergio Abril.

    1.    Sergio April dijo

      Hello!
      Terima kasih banyak, saya jelaskan secara singkat, dengan cara yang "cepat" dan "mudah", karena ini adalah pertanyaan yang sangat berhasil:

      Umumnya ketika Anda mendefinisikan suatu fungsi, Anda harus menambahkan parameter yang ingin Anda kirim ke fungsi itu, dan yang ingin Anda gunakan untuk mengerjakannya; Dalam kasus tombol dan stepper, kami menambahkannya sehingga fungsinya tahu bahwa itu memanggil objek tertentu (dalam kasus satu, UIButton, dan dalam kasus lain, UIStepper), yang kami beri nama kami ingin bekerja dengan bagian dalam fungsi (dalam hal ini «pengirim», tetapi siapa pun dapat bekerja). Oleh karena itu, setelah nama fungsinya, ada titik dua, dan kemudian (UIButton *) Sender.

      Untuk menunjukkan kepada Anda bahwa fungsi ini menerima "objek yang memanggilnya", meskipun benar bahwa saya belum memanfaatkannya, coba hal berikut:

      Ganti dalam fungsi checkerValuechanged (di dalam viewcontroller.m), semua "stepper1" yang Anda temukan, oleh "pengirim". Anda akan melihat bahwa ini terus bekerja dengan cara yang sama, dan hasilnya sama (meskipun dalam kasus latihan ini, saya belum memanfaatkan data yang diterima dan disimpan "pengirim", tetapi saya telah membuat referensi langsung ke stepper1 (yang sama)… Oleh karena itu timbul keraguan .. pertanyaan yang begitu bagus!

      Sedangkan untuk yang kedua, NSLog tidak lebih dari sebuah "log" layar, sehingga teks yang kita letakkan di antara tanda kutip muncul di bawah di konsol Xcode. Jika, sebagai tambahan, kita ingin menampilkan nilai tertentu, untuk melihat, misalnya dalam kasus ini, nilai apa yang dimiliki stepper1 setiap saat, itu adalah cara yang benar untuk menambahkannya; menempatkan di mana kita ingin nilainya pergi a% d, dan setelah tanda kutip, nama variabel. (% d mengacu pada fakta bahwa ini adalah nilai integer. Jika, misalnya, desimal, Anda harus memasukkan% f).

      Pada satu titik Anda mungkin berpikir bahwa kita harus meletakkan NSLog (@ "selected: VARIABLE");:% d ", VARIABLE), sehingga ketika mendeteksi"% "ia mengetahui bahwa ada nilai yang akan kita tempatkan setelah koma .

      Agak membingungkan, tapi saya harap saya sudah menjelaskannya sendiri 😉

      1.    danAnn dijo

        Terima kasih atas kemurahan hati Anda; pertahankan 🙂

  2.   santi_xixon dijo

    Mohon jangan berhenti membuat postingan, ini sangat bermanfaat dan pasti banyak orang termasuk saya sendiri yang menyukainya.

  3.   Gustav de la Rosa dijo

    Dua artikel yang Anda miliki sejauh ini sangat bagus. Saya menantikan artikel berikutnya untuk terus mempelajari bahasa baru ini. Satu pertanyaan, karena fungsi yang digunakan adalah tipe IBAction dan bukan hanya void?

  4.   Korban04- dijo

    Anda tidak pernah memprogram apa pun dan Anda membuat semuanya begitu sederhana Terima kasih banyak telah menulis artikel ini Saya menantikan yang lain, maaf tetapi beberapa buku atau halaman web untuk melanjutkan mempelajari subjek Saya sangat ingin tahu untuk mempelajari cara membuat aplikasi yang dilakukannya tidak masalah jika mereka dalam bahasa Inggris, saya harap Anda dapat membantu saya, terima kasih.

  5.   lusan dijo

    Apakah akan ada bagian ketiga? Kami sudah di bulan Maret