Comments 40
По моему «как играть не тыкая пальцем» это та самая «one more thing», для который и делалась текущая статья :) По крайней мере, мне очень интересно будет почитать.
+7
Ссылку на stackoverflow поправьте.
0
Извините, не удержался, вот это
if (screenBounds.size.height == 568) {
iPhone5 = 1;
} else {
iPhone5 = 0;
}
(с нормальной подсветкой и сохранением переноса в комментарии не разобрался)
замените на
if (screenBounds.size.height == 568) {
iPhone5 = 1;
} else {
iPhone5 = 0;
}
(с нормальной подсветкой и сохранением переноса в комментарии не разобрался)
замените на
iPhone5=screenBounds.size.height == 568;
+8
Мне платят построчно. С вашим подходом я на хлеб не заработаю.
+20
Вы серьезно? Еще есть такие компании?
+5
Мы даже еженедельные отчеты пишем. Правда к играм это почти не относится.
+7
Мы ежедневные пишем, но такой заморочки со строчками кода нет)
0
Ну, PapaBubaDiop, ясное дело, прикалывается, но просветите меня, тёмного, вы вдвоём вообще сейчас обсуждаете реальный способ определения пятого айфона? Так, типа, и должно быть?
+2
По сути, определяется не модель айфона, а разрешение экрана. И да, оно примерно так и определяется.
+2
Я сам не знаю, я не программист вообще. Шучу, конечно)) Я писал всего-лишь про рефакторинг кода, а не про то что он делает.
0
Да, пример взят со stackoverflow.
0
+1
Уже есть компании, за строчки штрафующие? :)
+3
А какой смысл? Оптимальнее и быстрее работать не стало, а читаемость падает, по моему мнению.
+1
И увеличивается стократ вероятность ошибки.
+1
Тут все субъективно. Мне кажется, что читаемость стала лучше.
+3
Так-так! Тут чего-то люди думают, что «оптимальнее и быстрее не стало», так вот, может быть вы не в курсе, но вообще-то в современных процессорах есть такая штука, как «предсказание ветвления», которое используется, чтобы предсказывать куда пойдёт выполнение программы и выполнить сразу пачку команд за раз. И вот в линейном коде оно работает прекрасно, смотрите:
ясно же, что тут две команды: сравнить 2 числа, записать результат в переменную. И предсказание ветвления захватывает эти команды в «пачку», да и плюс всё, что будет за ними. Классно, эффективно.
А теперь смотрите на код:
И вот тут уже хрен его знает, сработает предсказание ветвления верно или нет. В худшем случае на этапе обработки if предсказание сработает неверно в 50% случаев, повлияв не только на код в блоке if, но даже исключив из «пачки» код следующий дальше. Неэффективно, недетерминировано.
Конечно, в данном случае тип айфона, скорее всего, определяется 1 раз за всю работу программы, и тут оно пофигу, но вот если это цикл, который миллион итераций в секунду должен делать — может быть разница.
iPhone5=screenBounds.size.height == 568;
ясно же, что тут две команды: сравнить 2 числа, записать результат в переменную. И предсказание ветвления захватывает эти команды в «пачку», да и плюс всё, что будет за ними. Классно, эффективно.
А теперь смотрите на код:
if (screenBounds.size.height == 568) {
iPhone5 = 1;
} else {
iPhone5 = 0;
}
И вот тут уже хрен его знает, сработает предсказание ветвления верно или нет. В худшем случае на этапе обработки if предсказание сработает неверно в 50% случаев, повлияв не только на код в блоке if, но даже исключив из «пачки» код следующий дальше. Неэффективно, недетерминировано.
Конечно, в данном случае тип айфона, скорее всего, определяется 1 раз за всю работу программы, и тут оно пофигу, но вот если это цикл, который миллион итераций в секунду должен делать — может быть разница.
+2
Хм, ну в этой области я не знаток. А разве это сложное ветвление, чтобы ошибиться на нем?
0
Дело не в том, сложное оно или нет, оно просто есть как факт, а значит уже, в зависимости от проца и компилятора, есть вероятность ошибки предсказания ветвления. Если у вас есть один кусок кода, который 100% избежит а этой ошибки, а второй длиннее на 4 строки и с некоторой вероятностью в эту ошибку попадёт — какой лучше?
+2
К тому же, для большей читаемости можно заменить на:
Смысл тот же, но при беглом просмотре позволяет избежать микрокомпиляции этой строки в голове.
isIPhone5 = screenBounds.size.height == 568 ? YES : NO;
Смысл тот же, но при беглом просмотре позволяет избежать микрокомпиляции этой строки в голове.
0
Как играть, не тыкая пальцем в экран, я напишу в другой статье. Если интересно.
Конечно интересно!
+3
Например, для кнопки размером 60х60 пикселей, создаю картинку размером 240х240… Но экономлю энергию экрана.
Я вот этот момент не понял. Почему 240x240? Почему не 120x120 (для ретины)? Как это экономит энергию экрана?
0
Потому что весь набор картинок будет использован для ретины iPad. Там даже 240 на 240 покажутся миниатюрными. Яркие картинки требуют больше энергии, чем черный фон. Хотя я этот тезис не проверял. Но наше зрение спокойные цвета берегут, это наверняка…
0
Одно замечание по поводу дизайна: мне не понятен Ваш выбор указателя «мыши» для игры, виндовый курсор выглядит чужеродно на i-девайсе.
+1
UFO just landed and posted this here
Спасибо! Отличная статья, здравый подход к разработке :) Мне будет очень интересно прочитать продолжение.
+1
> 500 евро за 5 минут стерео?
в Microsoft напишите: я буду использовать только 10% функций и переключу экран в в 256 цветов и 640х480, продайте «Офис» за $10. :)
в Microsoft напишите: я буду использовать только 10% функций и переключу экран в в 256 цветов и 640х480, продайте «Офис» за $10. :)
+7
Понятно почему. Классический Lines имеет слишком большую доску размером 9х9 клеток. iPhone же комфортен на полях 6х6. Это предел для тыканья пальцем в экран.
Вот тут не соглашусь в ZOOKEEPER 8х8 и вроде нормально тыкается.
0
средняя цена на приложение из iTunes наверное около $2. но я же не буду играть в него 24/7, а всего часик в день. продадите мне игру за 8.3 цента?
+11
Это разумный подход, он часто где применяется, порой завуалировано. Попользовался программой- кредит списали. К сожалению, на русскую действительность это не распространяется- купил машину- плати за дороги, даже если не ездишь.
0
Почему нет? Я бы продал, будь на то техническая возможность. Продавать цифровые копии нужно по той цене, которую покупатель с радостью заплат. Кто-то заплатит 2$, кто-то 2 цента, а кто-то и 20$. В результате все довольны. У Джоэля Спольски была неплохая статья на эту тему.
0
Шикарный стиль изложения, пишите чаще, пожалуйста.
+4
Sign up to leave a comment.
7 бубей iOS разработчика игр