Задать вопрос
  • Как запретить движение камеры в unity по оси Х?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Смотря как она у вас движется.

    Если она прикреплена, то нужно просто менять эту координату каждый кадр на то, что вам нужно. Скажем, вычислять, какое должно быть относительное смещение с учетом положения игрока в мире.
    void LateUpdate() {
      float x = ...........; // вычисляете, на что сменить.
      transform.position = new Vector3(x, transform.position.y, transform.position.z);
    }

    Визуализация
    5dc3cf0c6aa57097422622.png


    Если же у вас камера перемещается тупо вручную (в Update), то также вручную НЕ перемещать ее по X. То есть вместо функции от координаты X игрока подставлять transform.position.x (т.е. эту же координату).
    Ответ написан
    3 комментария
  • Как удалить уведомление про удаленную тему?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно зайти в уведомления и нажать "Прочитать всё".

    Чтобы было проще с уведомлениями, у меня в расширении есть кнопка "Очистить уведомления для текущего вопроса". То есть если вы подробно читаете каждый вопрос и ответы с комментариями, то нет смысла кликать на каждое уведомление, можно просто убрать их, и раскрывать ветки комментариев в своём темпе.
    spoiler
    5dc26e2d2f016749618227.png
    Ответ написан
    Комментировать
  • Из-за чего пропадает Интернет ночью?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    • Поставьте программу типа PingPlotter (платно или торренты).
    • Включите её, чтобы работала 24/7 на пинг серверов в Интернете, вашего сервера, роутера, прочих устройств.
    • Постфактум смотрите, что было, какие детали, и что происходило в реале в это же время. Даже если не будет четких закономерностей, это исключит многие догадки и позволит копать дальше.

    spoiler
    У меня эта прога так и работает. И обычно она не нужна. Но если вдруг нужна, то надо узнать причину проблемы, которая была 5 минут назад или вчера и т.д., так что нужна статистика.
    5dc26fbb35015456671749.png
    По сути это обычный трейс в ретроспективе, только красивый.
    Ответ написан
    9 комментариев
  • Есть ли курсы или материал для разработки игр на html, js, php и т.д.?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Разработка игр - это очень большая сфера. И само программирование - это лишь малая часть разработки игр. Поэтому вопрос звучит немного странно. Ведь JS и PHP - самостоятельные языки программирования, напрямую отношения к играм не умеющие.

    Это всё равно что спросить: "Как обучиться готовить завтрак в кастрюле?"
    Уметь готовить - одно. Кастрюля - другое, это конкретный инструмент при готовке. Странно объединять их в один вопрос, словно пользование кастрюлей зависит от умения готовить, или возможность готовить зависит от наличия кастрюли.
    Ответ написан
    Комментировать
  • Как запретить вывод однотипных данных?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Кешировать вывод где-нибудь.
    Примерно так:
    window.my_cache = window.my_cache || {};
    if (my_cache[items[i].name]) continue; // or return if inside a function
    my_cache[items[i].name] = true;

    Можно навести красоту и оптимизировать под разные хотелки, если есть нужда.
    Ответ написан
    1 комментарий
  • Какой язык полезно выучить для понимания современных языков программирования?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Скорость перебора массива зависит от реализации этого перебора в самом языке. Снижение скорости может быть обусловлено какими-то удобствами. К примеру, в Lua (скриптовой язык) перебор массива очень медленный, потому что там каждый массив - это хеш-таблица со всеми вытекающими. То есть это не просто поиск элемента по индексу в памяти относительно начала массива в памяти, это еще и хеширование каждого ключа, и поиск по хешу, а если есть метатаблица (аналог прототипа в JS), то еще дополнительные проверки на перегрузку доступа к элементу.

    Возможно, вам стоит подучить архитектуру компьютера, в частности процессор x86 и память, и как они связаны. Наиболее близкий язык, чтобы во всё это окунуться - ассемблер, очевидно. Если интересует именно скорость языка (которая, к слову, для многих задач не критична), то нужно смотреть высокоскоростные компилируемые языки - С, С++, Rust, D, Go, а также близкие к ним по скорости через VM - C#, Java (Kotlin). Узкоспециализированные типа Swift можно не рассматривать, если они вам не нужны для решения задач. Но даже в скриптовых языках (JavaScript, PHP) сейчас очень хорошо со скоростью. Посмотрите также, что такое JIT, тоже удивитесь, если не слышали ранее.

    В общем, отталкиваться нужно не от универсальности языка по скорости, а от решаемой задачи. Потому что у языков есть разные плюсы и минусы, и адекватная область применения. Некоторые проигрывают по скорости, но имеют другие преимущества - удобство, документация, надежность, скорость компиляции, комьюнити, средства разработки и отладки, популярность, а иногда даже вообще возможность использовать только этот язык в конкретной сфере. Например, в браузере, как ни крути, а придется иметь делать с JS (без извращений), а какие-нибудь шейдеры вообще на отдельных языках пишут, про которые мало говорят.
    Ответ написан
    1 комментарий
  • Как вернуть Windows до заводских настройках?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Отформатировать жесткий диск прогой с загрузочной флешки.
    Еще можно попробовать самоубийственное форматирование какой-нибудь прогой в работающей винде типа minitool partition wizard.
    Ответ написан
  • Как исправить ошибку в Corona SDK?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    local boostButton = display.newCircle(display.contentCenterX, 400, 30 )
    local test = boostButton:setFillColor(40/225, 60/225, 30/225)

    В этом случае теперь boostButton содержит результат работы newCircle, т.е. ссылку на кнопку.
    А вот переменная test содержит результат работы setFillColor, т.е. nil
    Ответ написан
    Комментировать
  • Как записать звук с разных приложений?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Меня спасает вот эта программка (Voice Meeter Banana):
    5dbe40df8160a478949652.png
    Обратите внимание, что из всей линейки нужна именно Banana. Ну или можно выбрать более крутую, просто там дальше уже сильно платно, так что Banana - оптимально.

    Естественно, хотя бы одна из ваших программ должна иметь настройку, позволяющую выбрать, на какие колонки или наушники посылать звук. Во многих программах со звуками (где звук не ограничивается щелчками кнопок) есть такая настройка.
    Ответ написан
    Комментировать
  • Можно ли вообще писать 2д игры в Android studio?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Возможно, но зачем? Придется много велосипедов изобретать с нуля. Библиотеки и фреймворки, конечно, помогут, но там есть не всё из того, что может понадобится с большой вероятностью.
    Ответ написан
    Комментировать
  • Каким образом платные сервисы от DDOS атак работают?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Во-первых, DDOS, это не всегда запросы к сайту. Это может быть просто поток сетевых пакетов с целью перегрузить ваш канал. Если он слабый, типа домашнего Интернета, то это вообще не проблема. Поэтому платные сервисы тупо дают широкий канал, и загрузить такой сервис очень сложно. Далее такой флуд легко фильтровать по простым критериям, и до вас, до вашего сервера, доходит лишь "чистый" трафик, от нормальных пользователей.

    Ну а дальше начинается война снаряда и брони. Можно придумывать всякие способы атаковать вас, и можно придумывать всякие способы защиты. К примеру, боты могут делать запросы к сайту. Вы можете тупо отправлять их на капчу. Или можете попытаться найти закономерность в атаке и написать свой фильтр (опять-таки, если атака не перегружает канал, иначе это бесполезно). Можете даже воспользоваться машинным обучением, чтобы найти какие-то паттерны у ботов. Платные сервисы отличаются тем, что уже съели собаку на методах борьбы, поэтому делают это дешевле, чем если вы своими руками. И если они завтра что-то новое придумают, то это распространится на всех их клиентов, - это дешевле, чем если каждый клиент отдельно будет изобретать велосипед с нуля. Хотя, как я сказал выше, главной фишкой является широкий канал, так что их нельзя заддосить тупо трафиком.

    От вас тоже требуется кое-что - оптимизировать работу сервисов так, чтобы они могли буквально жить под ддос, не особо от этого страдая. Такой подход является самым выигрышным на сегодня, но и требует грамотной разработки ПО, а не тяп-ляп.

    В общем, война никогда не меняется. Поэтому ответить вам, что вот, мол, такие сервисы следуют такому-то рецепту - не получится. Технологии постоянно развиваются. И через год будут новые способы атаки и защиты. Платные сервисы просто берут деньги за то, что участвуют в этой войне, а как и что у них там получается - это отдельная наука. Для любой брони можно подобрать снаряд. И для любого снаряда можно подобрать броню. Вопрос в цене. Побеждает тот, у кого больше ресурсов (времени и денег), но потери по итогам несут все стороны конфликта (наживаются только спонсоры).
    Ответ написан
    1 комментарий
  • Не стандартные ходы в игре на Unity. Как прописать их логику верно?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не совсем понятно, в чем проблема. Верная логика та, в которой нет ошибок. А ошибку можно искать, только если точно понятно, что вы хотите сделать, то есть какая цель. Если занудствовать, то можно послать вас вообще в самое начало, и попросить определить цель с точки зрения геймдизайна, то есть какие ощущения вы хотите вызвать у игрока и почему именно таким образом. В любом случае, отталкиваться нужно именно от цели, так что целеполагание очень важно.

    Если у вас затык в выборе между левел-дизайном и процедурной генерацией уровней, то лучше руками, потому что можно творчески подойти к созданию уровней, и тем самым сделать игру интереснее. А в процедурной генерации, хоть она и сложнее, обычно используются кусочки, которые не слишком противоречат логике (т.е. создаются руками), но всё же неизбежно вносят свою долю противоречий. То есть если генерировать, то нужно продумать, как могут интересным образом сочетаться элементы, из которых вы генерируете, и что может пойти не так, чтобы попытаться избежать этого.

    Если вопрос про то, как сделать граф, то как угодно. Например, точки - объекты-элементы массива. И каждый такой объект может содержать несколько индексов других элементов, которые будут означать связь с другими точками в этом же массиве.

    Если вопрос про кривизну линий в произвольном графе, то здесь либо рисовать вручную, что, как было сказано, позволяет делать интересные уровни, либо какие-нибудь кривые безье.

    Если вопрос про управление на графе, то оно такое же - мышь или палец, то есть клик/тап. Учтите ещё, что на мобильных устройства нет наведения на элемент, так что сейчас у вас игра по сути ограничена только ПК. Стрелки клавиатуры можно сделать просто, но в случае 5-и связей просто не хватит клавиш, то есть время от времени игроку нужна будет мышь. Еще можно цифрами на клавиатуре, тогда сами связи нужно будет визуально нумеровать.

    Если вопрос про то, как боты будут ходить в произвольном графе, то это всевозможные алгоритмы поиска пути, из которых наиболее классическим (и основой для других) является A* (Astar).

    Возвращаясь к геймдизайну, у вас нет отображения выпавшего числа ходов на экране, т.е. его нужно нащупывать. В этом и состоит интерес? Также обратите внимание на сам дайс. Если его нет в игре, то это большое упущение, как мне кажется. Сделайте крутой дайс, чтобы он прям перекатывался по экрану, и чтобы игрок до конца не мог угадать, что же выпадет - возможно, это станет ключевым моментом в вашей игре, а ходы и прочее - лишь дополняющие механики. В общем, всё зависит от цели.
    Ответ написан
    Комментировать
  • На какое направление идти, чтобы стать программистом?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Сначала выбрать ВУЗ, а потом уже смотреть, что там есть.
    Ответ написан
  • Sublime вместо кириллицы показывает это РћРЎРљРђР. В чем ошибка?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Сразу видно, что это текст в UTF-8, который хотят отобразить в кодировке Windows-1251.

    Для начала надо понять, в какой кодировке сам файл. То, что вы сюда скопипастили, ничего не говорит о файле. Желательно использовать именно UTF-8 в файле. Далее, сервер в HTTP-заголовке должен отдавать сообщение о том, что файл именно в этой кодировке. И если сервер не умеет или вам лень его настраивать, то можно в самом HTML указать, что файл в этой кодировке. Как-то так:
    <meta charset="UTF-8">

    В конце концов последнее слово за бразуером. Если он по каким-то причинам не захочет отображать в нужной кодировке, то проблема в нём.
    Ответ написан
    Комментировать
  • Наказание за поиск уязвимостей?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не будет.
    Разве что они связали второй аккаунт с первым, но вряд ли, особенно если это какая-нибудь онлайн игра, где по традиции разрабам пофиг на читеров.

    Больше похоже на желание отблагодарить. Ну и простимулировать искать уязвимости дальше.

    Вы должны были нанести приличный ущерб, чтобы у них появилось желание вас наказать.
    Ответ написан
    8 комментариев
  • Возможно ли превратить сматфон в шлюз?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зачем?
    5dbc6d7e76410862561562.jpeg
    Ответ написан
    Комментировать
  • Отключается интернет при входе в игру?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    "нет доступа к интернету"

    Это мало о чем говорит, даже если вы уточните детали получения данного сообщения.

    Чтобы достоверно говорить о доступе в интернет и делать точные догадки о причинах, нужно смотреть доступность интернета в динамике.

    Откройте консоль (пуск -> cmd), и наберите там ping ya.ru -t
    Дальше наблюдайте, что интернет есть. Когда он пропадет, убедитесь, что и правда пропал, и в какой момент. Дальше можно будет думать и гадать более предметно.

    Более удобный инструмент - PingPlotter. Хотя он платный, но халявщики обычно качают на торрентах, и не забывают читать про лечение перед использованием, а потом радуются жизни.
    Ответ написан
    Комментировать
  • Как сделать файл симпатичным в firefox debugger?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Никак.

    Можно воспользоваться различными инструментами (в том числе онлайн сервисами), которые делают код красивым. Их можно нагуглить по слову "beautifier", то есть в вашем случае подойдет гугл запрос: javascript beautifier
    (копипастом придется вставить код)

    Однако названия переменных будут те же. Невозможно имена вроде a, b, c, d b и т.д. "расшифровать" в осмысленные названия. Для этого нужно понимать смысл кода, а машина пока что это не умеет, и долго еще не будет уметь.
    Ответ написан
  • Ресурсы или книги по Unity для программистов?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Основные ресурсы это:
    1. Официальная документация
    2. learn.unity.com. Понимаю, что вы не любите видео, но за денежку можно получить чуть более индивидуальный подход.


    Ещё можно попробовать курсы не для программистов, то есть где нет программирования, а весь код в заданиях поставляется в виде готовых файлов, который нужно просто подключить. Не знаю, много ли таких, но в любом случае это можно узнать у организаторов курсов.
    Ответ написан
    Комментировать
  • Как убрать возможность "флипа" HelthBar'а?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Засунуть его в другую ветку?
    Общий Родитель -> в нём Бар и Перс.
    Координаты меняем общего родителя.
    Флипаем перса.
    Как-то так.
    Ответ написан
    6 комментариев