Научитесь программировать игры для iOS: знакомство с Xcode (II)

Научитесь программировать

После последней части под названием научиться программировать игры для iOS: знание Xcode, и прежде чем мы перейдем к Cocos2d, давайте немного углубимся в Xcode. В этом случае мы будем взаимодействовать с созданными элементами, вместо того, чтобы ограничиваться простым «Hello world».

Благодаря этому вы приобретете навыки работы с Xcode и сможете быстро создавать свои первые «полезные» приложения; изучив основы использования кнопок и текстовых меток. Поскольку этот класс несколько сложнее предыдущего, у вас будет практический пример, доступный для загрузки в конце сообщения, чтобы вы могли запустить его и убедиться, что он работает правильно!

Сначала мы открываем Xcode и создаем новый проект, выбирая шаблон «приложения с одним представлением», как и в предыдущем классе; Это создаст рабочее пространство на основе одного окна с его «графическим помощником». После открытия выбираем файл viewcontroller.xib (Напомним, что это «графическое лицо» нашего первого представления или сцены, называемое viewcontroller, и чья часть «кода» находится в файлах viewcontroller.m y viewcontroller.h), и мы переходим к блоку объектов, расположенному в правом нижнем углу, чтобы начать перетаскивать компоненты на нашу сцену: метки, кнопки ... там будет все!

Вставка объектов в xcode

Как мы видим на изображении, на этот раз мы перетащили следующее:

  • Объект "этикетка«, В порядке заголовка. Он ни с чем не будет взаимодействовать.
  • Другой объект «этикетка«, Который будет содержать числовые значения.
  • А А "шаговый«, Отвечает за увеличение или уменьшение числового значения предыдущей« метки ».
  • Un кнопка чтобы проверить, соответствует ли числовая «метка» ранее выбранному нами значению.

Вы уже знаете, о чем это упражнение? Очень просто; Нам нужно будет выбрать свой возраст (год за годом с «степпером»), а затем с помощью кнопки проверки выяснить, достигли ли мы совершеннолетия. Как ни абсурдно, но и познавательно, с этим упражнением вы узнаете, как росчерк пера несколько вещей.

Настройка метки в xcode

Как вы можете видеть на изображении выше, размер и цвет «этикетки» могут быть олицетворять. У каждого объекта есть множество параметров, которые вы можете узнать, если немного исследуете. После того, как вы оставили каждый объект с характеристиками, которые вам больше всего нравятся, самое время подвести итоги: пока что у нас есть «нарисованный»Наше приложение; ничто не взаимодействует ни с чем ... нам нужно придать ему единство.

Для этого мы собираемся возиться с некоторыми код (очень простые и элементарные объяснения); конкретно с файлом viewcontroller.h, в котором находятся основные определения класса viewcontroller (наше главное окно!). Он не выполняет код или действия, он только устанавливает основы и необходимые функции, чтобы viewcontroller.m можно использовать их и выполнять тяжелую работу ... что мы увидим в viewcontroller.xib! Все три стороны одной медали.

Объяснив это, мы можем начать определять в «коде» все объекты, которые мы определили визуально. Заходим в архив viewcontroller.h, и мы добавляем следующее:

реализация переменных в xcode

Есть несколько способов определить переменные или элементы, но в этом случае, поскольку нам нужен элемент для доступа к ним (наше окно, графическая часть), мы назначаем их таким образом (начиная с @property). Это тема, к которой мы обратимся в будущих классах, а пока стоит знать, к чему относится каждый из них или что он определяет: «этикетка»(Только один, поскольку заголовок, который мы создаем, не будет ни с чем взаимодействовать, и нам не нужно определять его в коде), целочисленная переменная с именем«Возрастное большинство»(Это новое, мы не помещали его в графическую часть .. он будет хранить только возраст совершеннолетия для сравнения),«шаговый»(Называется stepper1).

В дополнение к вышесказанному, есть еще две функции (две, начинающиеся с дефиса, являются функциями); один из них будет что-то делать, когда мы нажимаем на степпер (Например, заставить «ярлык» изменить наш возраст? точное), а другой отвечает за сравнение текущего возраста метки с установленным нами.

Пока мы определили графическую часть, а также кодовую часть. Однако как научить наше приложение тому, чему соответствует каждая переменная или элемент кода, с их эквивалентом в графической части? Что ж, очень просто. Нажимаем на viewcontroller.xib, и мы нажимаем на круглую серую кнопку с формой «играть» и текстом «показать контур документа», который мы находим в нижнем левом углу квадратного листа. При этом отобразится панель с элементами нашего окна.

Мы смотрим на «Заполнители» выше, которые содержат два куба: желтый (владелец файла), в котором мы будем связывать объекты с кодом (метки, кнопки и т. Д.); и еще один красноватый (First Responder), где мы будем связывать функции, которые мы определили, с различными действиями (например, при нажатии кнопки выполняется функция).

Меню контуров Xcode

Начнем с предметов. Щелкните правой кнопкой мыши куб «Владелец файлов», откроется черное меню. Отображаем раздел «Розетки», и мы увидим все элементы, которые мы определили в коде (их всего два, label и stepper1); мы должны перетащить их в соответствующий графический элемент: этикетка с числовой меткой, которую мы создали, и степпер1 с шаговым двигателем.

Когда мы перетаскиваем его, мы увидим, как создается «синее щупальце», которое следует за нашей мышью к объекту, который мы хотим связать. (Примечание: чтобы начать процесс перетаскивания, вы должны щелкнуть пустые кружки рядом с названием каждого объекта, как на фото)

Связывание объектов в xcode

Теперь вам нужно проделать то же самое с функциями; щелкнув правой кнопкой мыши «Первый ответ», мы сделаем следующее:

  1. Нажимаем на «checkAge» и, не отпуская, перетаскиваем до кнопки нашего графического окна, той, которая проверяет возраст. Открывается новое выпадающее меню, и мы выбираем «Touch down».
  2. Мы делаем то же самое с «stepperValueChanged», но на этот раз мы перетаскиваем его в наш графический «степпер» и в раскрывающемся меню выбираем «Value Changed».

Связывание действий в xcode

Сейчас остается только добавить "настоящий код" в viewcontroller.m; мы должны сообщать вам, что делать с каждым происходящим действием. Мы начнем с того, что посоветуем вам знать о переменных, определенных в viewcontroller.h (переменная установленного законом возраста, переменная шагового двигателя и переменная метки; обе связаны с их графическим аналогом) с использованием «@synthesize имя_переменной_u_element«, Как мы видим на изображении:

Реализация переменных в xcode

Не выходя viewcontroller.m, мы направились к функции просмотрDidLoad (в конце файла) и чуть ниже того, что уже написано, но перед «}«, Мы определяем, какой должен быть возраст совершеннолетия в нашей стране. В этом случае 18:

Функция didload в Xcode

Наконец, мы собираемся создать и запрограммировать функции которые мы определили в viewcontroller.h (их всего два). Один будет выполняться каждый раз, когда мы нажимаем на степпер, и он должен отображать возраст, который меняется, на нашей «метке».

Другой будет выполнен, когда мы нажмем кнопку проверить возраст, и он проверит (стоит избыточности), равен ли введенный нами возраст совершеннолетию или превышает его: если ответ положительный, фон приложения изменится на зеленый; в противном случае он станет красным. Оба должны быть помещены в файл viewcontroller.m; например, непосредственно перед функцией - (недействительно) viewDidLoad.

функции класса два

Теперь самое лучшее. Вы должны попробовать! Перейдите к кнопке воспроизведения выше, убедитесь, что выбран «Симулятор iPhone», и щелкните. Ваше окно откроется, и вы сможете с ним взаимодействовать!

фото второго упражнения

Упражнение можно было бы сделать более сложным, но с этим у вас есть основы для самостоятельного исследования и опробования новых вариантов. Чтобы было проще следовать руководству, из любопытства или на случай, если вы не можете заставить его работать, вот проект в архив сжатый! Надеюсь, это послужило вам ... до следующего раза!

Больше информации - Научитесь программировать: знакомство с Xcode (I)

Скачать - Второй класс программирования для Xcode


15 лучших игр
Вы заинтересованы в:
ТОП-15 игр для iPhone
Следуйте за нами в Новостях Google

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Абекерс сказал

    Прекрасно, надеюсь, вы не откладываете публикацию дополнительных курсов. Но вы можете подробно указать, что делает каждая функция, например: «*) отправитель» и «Выбрано:% d», так как есть люди, которые не знают objective-c. Очень хороший пост.

    Приветствую Серхио Абриль.

    1.    Серхио Абриль сказал

      Привет!
      Большое спасибо, я объясню кратко, «быстро» и «легко», так как это очень удачный вопрос:

      Обычно, когда вы определяете функцию, вы должны добавить параметры, которые вы хотите передать этой функции, и с которыми вы хотите работать с ней; В случае кнопок и степперов мы добавляем их, чтобы функция знала, что она вызывает определенный объект (в случае одного - UIButton, а в случае другого - UIStepper), которому мы присваиваем имя мы хотим работать с внутренней частью функции (в данном случае оба «отправителя», но работает любой). Следовательно, после имени функции идет двоеточие, а затем (UIButton *) Sender.

      Чтобы показать вам, что эти функции получают «объект, который их вызывает», хотя это правда, что я этим не воспользовался, попробуйте следующее:

      Замените в функции checkerValuechanged (внутри viewcontroller.m) все найденные "stepper1" на "sender". Вы увидите, что он продолжает работать так же, и результат тот же (хотя в случае этого упражнения я не использовал данные, которые «отправитель» получает и сохраняет, но я сделал прямую ссылку на stepper1 (что то же самое) ... отсюда возникают сомнения ... так хорошо спросили!

      Что касается второго, NSLog - это не что иное, как экранный «журнал», так что текст, который мы помещаем между кавычками, появляется ниже в консоли Xcode. Если, кроме того, мы хотим, чтобы он отображал определенные значения, чтобы видеть, например, в этом случае, какое значение всегда имеет stepper1, это правильный способ его добавления; поместив туда, где мы хотим, чтобы значение было% d, а после кавычек - имя переменной. (% d относится к тому факту, что это целочисленное значение. Если бы это было, например, десятичное число, вам пришлось бы поставить% f).

      В какой-то момент вы можете подумать, что мы должны поместить NSLog (@ »selected: VARIABLE»);, но поскольку все, что находится в кавычках, выходит «буквально», значение не будет отображаться, кроме слова VARIABLE ... и у вас есть прибегнуть к NSLog (@ »selected:% d", VARIABLE), чтобы при обнаружении "%" он знал, что есть значение, которое мы поместим после запятой.

      Это немного сбивает с толку, но я надеюсь, что объяснил

      1.    дЭнн сказал

        Спасибо за вашу щедрость; так держать 🙂

  2.   Санти_Xixon сказал

    Пожалуйста, не переставайте писать пост, он очень полезен, и я уверен, что многим, в том числе и мне, он понравится.

  3.   Густаво де ла Роса сказал

    Две статьи, которые у вас есть, отличные. Я с нетерпением жду следующих, чтобы продолжить изучение этого нового языка. Один вопрос, потому что используемые функции относятся к типу IBAction, а не просто void?

  4.   ВикТ04- сказал

    Вы никогда ничего не программировали и делаете все так просто. Большое спасибо за написание этих статей. Я с нетерпением жду других, извините, но некоторые книги или веб-страницы позволят продолжить изучение предмета. Мне очень любопытно узнать, как создавать приложения. независимо от того, на английском ли они, я надеюсь, вы мне поможете, спасибо.

  5.   Ллусан сказал

    Будет третья часть? Уже март