Пятница, 26 Апреля 2024, 10:08

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » drcrack [2693]
Результаты поиска
drcrackДата: Четверг, 05 Октября 2017, 09:28 | Сообщение # 2621 | Тема: Прокачка персонажа / Повышение уровня
старожил
Сейчас нет на сайте
Добавь скрипт на сцену и наслаждайся: https://pastebin.com/sepRCmvy
(Если недостаточно сильно лагает, добавь еще один 0 в кол-во итераций, я под свой слабый проц на ноуте делал)
А потом подумай, как так получается, ведь в скрипте нету Update
drcrackДата: Среда, 04 Октября 2017, 22:02 | Сообщение # 2622 | Тема: Прокачка персонажа / Повышение уровня
старожил
Сейчас нет на сайте
Цитата
Поэтому чтобы вычисления не производит в кадре, делают в ienumerable, в такое случае уже не в кадре будут вычисляться, и не будет нагрузки на fps.

то что ты написал (yield return null внутри while) будет выполняться каждый кадр после всех Update и влиять на фпс точно также как влияло бы, если бы было написано в Update
и дело не в том, что ты как-то плохо написал (это самый обычный паттерн), просто по-другому не получится) если тебе нужно что-то делать каждый кадр, то придется делать это каждый кадр, в Update, в корутине или еще каким-то способом

иначе можно было бы вообще весь код перенести в корутины, убрать апдейты и было бы 500 фпс всегда

Цитата
Или ты считаешь себя умнее автора?

автор мог написать все правильно, а вот ты мог просто не до конца понять что именно он хотел сказать

скачал книгу, автор все верно пишет:

то что я выделил как раз включает в себя корутины
в конце также сказано, что нужно делать: использовать события
и это как раз будет очень в тему: умирает моб — вызываются колбеки — начисляется экспа, и не надо ничего проверять в каждом кадре


Сообщение отредактировал drcrack - Среда, 04 Октября 2017, 22:20
drcrackДата: Среда, 04 Октября 2017, 21:44 | Сообщение # 2623 | Тема: Прокачка персонажа / Повышение уровня
старожил
Сейчас нет на сайте
Цитата
А что, EnemyHealth разве не класс? Я думал что это класс, который прикреплен к объекту.

https://msdn.microsoft.com/ru-ru/library/ey4ke239(v=vs.90).aspx

Цитата
Почему так? Потому что логично?

потому что стиль кода) не так критично, когда в проекте 2 скрипта, но если игра планируется серьезнее чем просто кубик, прыгающий по террейну, его лучше соблюдать, пусть даже в юнити нейминг немного нетипичный

Цитата
А отредактировал то сообщение.

да, теперь вообще полная дичь)

Цитата
В книге той, которую я приводил в пример советовалось не производить вычисления в update, в update например делать мелкие вычисления.

все скрипты, включая корутины, выполняются в одном потоке и нет никакой разницы, в update они или где-то еще, тяжелые вычисления каждый кадр в любом случае будут просаживать фпс
кроме того, все обьекты юнити бросают исключения при попытке сделать с ними что-то из других потоков, даже банально Time.time ты прочитать не сможешь если вручную создашь второй поток
drcrackДата: Среда, 04 Октября 2017, 20:32 | Сообщение # 2624 | Тема: Прокачка персонажа / Повышение уровня
старожил
Сейчас нет на сайте
Код
/* указатель на объект */
GameObject enemy;
/* указатель на класс */
EnemyHealth enemy1;

и то и другое — ссылки на обьекты

Код
/* создай отдельный поток, чтобы он проверялся не в кадре, а в потоке, так он не будет замедлять покадровое обновление */
StartCoroutine ( wa () );

корутины работают в основном потоке, эта оптимизация бессмысленна, она ничего не ускорит
кроме того, она никогда не завершится и будет добавлять экспу каждый кадр после смерти врага
точнее, даже не добавлять а изменять общее количество опыта игрока на то, которое дается за одного этого врага

Код
Ещё предлагаю почитать книгу "Искусство создания сценариев в Unity", вдруг пригодится.

если эта книжка и вдохновила тебя на эти корявые примеры, ее лучше не читать ))

тсу лучше скинуть проект целиком, только так можно будет понять где проблема

PS
Код
enemy1.die

Это свойство должно называться isDead


Сообщение отредактировал drcrack - Среда, 04 Октября 2017, 20:36
drcrackДата: Среда, 04 Октября 2017, 18:54 | Сообщение # 2625 | Тема: Прокачка персонажа / Повышение уровня
старожил
Сейчас нет на сайте
После
Код
Destroy(gameObject);

Вот это уже не будет работать:
Код
enemy1.GetComponent<EnemyHealth>()

Может поэтому и "не проходит if"

А вообще как уже сказали, все очень криво и лучше все это удалить и сделать с нуля нормально
Ну или хотя бы скинь проект целиком, по отрывкам скриптов сложно понять че там у тебя происходит
drcrackДата: Среда, 04 Октября 2017, 15:01 | Сообщение # 2626 | Тема: Прокачка персонажа / Повышение уровня
старожил
Сейчас нет на сайте
Цитата
ArtemS, и никого не смутило, что сначала мы убеждаемся, что enemy == null, а в следующей же строке пытаемся вызвать метод на enemy (который вообще-то null)

Цитата
Да точно. xp так не начислится.

Это не тот null, который null. Тут перегруженный == который возвращает true при сравнении с null если обьект разрушен. Но при этом как обьект C# он все еще существует и ты можешь делать с ним все что ты в принципе можешь делать с обьектом (кроме того что унаследовано от классов юнити, все эти вещи будут бросать исключение), например прочитать значение поля (вызова метода тут кстати не вижу)


Сообщение отредактировал drcrack - Среда, 04 Октября 2017, 15:03
drcrackДата: Среда, 04 Октября 2017, 08:48 | Сообщение # 2627 | Тема: Прокачка персонажа / Повышение уровня
старожил
Сейчас нет на сайте
Цитата
afq, нет. я думал он автоматически присваивается если объект уничтожается со сцены...

все верно, == перегружен и сравнение c null возвращает true если обьект уничтожен через Destroy/DestroyImmediate
т.е. код должен работать (ну, за исключением той мелочи что он должен прибавлять экспу каждый кадр после убийства врага)
ищи ошибку в логике, в других скриптах, покажи для начала тот где уничтожается враг


Сообщение отредактировал drcrack - Среда, 04 Октября 2017, 09:30
drcrackДата: Воскресенье, 01 Октября 2017, 22:20 | Сообщение # 2628 | Тема: Услуги по рассылке и продаже смс, email, viber, skype, whats
старожил
Сейчас нет на сайте
Цитата
Доставка варьируется от 90 до 93 % гарантировано.

Лолшто? Имеется в виду доставка в "Спам" что ли? Я за год максимум 2-3 рекламных письма вижу во входящих, все остальное (15+ в день) гугл стабильно отправляет в спам или вообще не принимает, сказки какие-то рассказываешь. Или ошибся на 2 порядка, вот 0.9% это похоже на правду.

Если кто закажет, отпишитесь потом, как оно)


Сообщение отредактировал drcrack - Воскресенье, 01 Октября 2017, 22:20
drcrackДата: Воскресенье, 01 Октября 2017, 21:51 | Сообщение # 2629 | Тема: Beast Hunter
старожил
Сейчас нет на сайте
Цитата
но откуда эта сумма в 1500$???

русский не может запустить кампанию, нужно быть резидентом (+иметь счет в банке) одной из развитых стран типа сша, германии, японии и тд, полный список у них на сайте, поэтому тебе нужен агент который будет получать деньги за тебя, и 1500+10% это их минимальные ценники

Цитата
я разве говорил что у меня что то есть?

ну так и я говорю что у тебя ничего нет) в этом и проблема

Цитата
есть примерный концепт, а не готовый документ

это не концепт а просто набор слабо связанных друг с другом идей
его нужно довести до ума чтобы было что обсуждать, потому что сейчас нечего
drcrackДата: Воскресенье, 01 Октября 2017, 13:00 | Сообщение # 2630 | Тема: Продам PC / Android игру
старожил
Сейчас нет на сайте
не надо демо, вообще не надо это продавать) на вид какой-то сборник бесплатных ассетов, а не игра
drcrackДата: Воскресенье, 01 Октября 2017, 09:51 | Сообщение # 2631 | Тема: Beast Hunter
старожил
Сейчас нет на сайте
Цитата
попробовать себя на Кикстартере или других краудфандинговых платформах и нанять команду для реализации, или продать концепт

выход для кикстартер для русского это минимум $1500 сразу и еще 10% от сборов, и еще попробуй найди контору которая согласиться работать с тем что у тебя есть (т.е. ни с чем)
другие площадки существуют, но там шансов вообще нет. открой индигого (топ2 после кикстартера между прочим) и полистай там успешные игры, посмотри их презентации и т.д., сравни с тем что есть у тебя

вообще чего я тебе рассказываю, погугли просто статьи людей, успешно собравших денег на кикстартере и узнаешь, сколько они вложили в разработку прототипа, трейлера и в пиар, прежде чем получили первый цент от бекеров — и подумай, если ли у тебя такой бюджет

Цитата
Так вот, что вы можете мне посоветовать делать с этой идеей?

забыть и заняться чем-нибудь другим, серьезно)


Сообщение отредактировал drcrack - Воскресенье, 01 Октября 2017, 09:59
drcrackДата: Суббота, 30 Сентября 2017, 03:22 | Сообщение # 2632 | Тема: Профессиональные бета перекупы
старожил
Сейчас нет на сайте
Я делаю игру, и хотя она на очень ранней стадии разработки, недавно вышел небольшой обзор: https://www.alphabetagamer.com/the-arena-beta-sign-up/. И с тех пор ко мне в форму регистрации на бету постоянно долбятся боты:



^ На скриншоте прямо совсем лютые, но есть и более аккуратные с почтами на нормальных сервисах

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


Сообщение отредактировал drcrack - Суббота, 30 Сентября 2017, 03:22
drcrackДата: Четверг, 28 Сентября 2017, 03:02 | Сообщение # 2633 | Тема: Памятка начинающим программистам Unity (и не только)
старожил
Сейчас нет на сайте
Цитата
Ну не 99%. На многие вопросы по проблемам Unity ответов нет нигде, только такие же вопросы.

Такие есть, да, но как часто начинающие с такими сталкиваются?
Полистай темы в этом разделе, тут все вопросы уровня "как подвинуть куб" :D
drcrackДата: Среда, 27 Сентября 2017, 20:07 | Сообщение # 2634 | Тема: [3D] видео покер
старожил
Сейчас нет на сайте
Фон бы не помешал, это ж стандартный скайбокс )
drcrackДата: Среда, 27 Сентября 2017, 19:59 | Сообщение # 2635 | Тема: Взятие скрипта из GameObject
старожил
Сейчас нет на сайте
Код

void Start() {
  gameObject.GetComponent<RearWheelDrive>().enabled = true;
}

также см. пункт 4 здесь: https://gcup.ru/forum/59-99141-1
drcrackДата: Среда, 27 Сентября 2017, 17:08 | Сообщение # 2636 | Тема: Памятка начинающим программистам Unity (и не только)
старожил
Сейчас нет на сайте
Цитата
только для начинающих

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

а вот не очень опытным часто свойственно мышление типа "ну тут вроде все просто, алгоритму 30 лет, да и вообще я такое еще в гта4 видел, ща по быстрому сам напишу" — проходит неделя, разработка стоит колом, программист только и делает что отлаживает свой велосипед


Сообщение отредактировал drcrack - Среда, 27 Сентября 2017, 17:09
drcrackДата: Среда, 27 Сентября 2017, 17:00 | Сообщение # 2637 | Тема: Стоки (AudioJungle, ShutterStock,..)
старожил
Сейчас нет на сайте
Ну все ж есть прямо на сайтах, в красивых табличках

https://audiojungle.net/licenses/music
https://www.shutterstock.com/license-comparison

если кратко:
1) сойдет самая простая лицензия (но не всегда, подробности по ссылкам)
2) упоминать автора/сток не нужно


Сообщение отредактировал drcrack - Среда, 27 Сентября 2017, 17:02
drcrackДата: Среда, 27 Сентября 2017, 15:10 | Сообщение # 2638 | Тема: Предложения по улучшению
старожил
Сейчас нет на сайте
Цитата
это же юкоз

странно, а выглядит вполне прилично)
drcrackДата: Среда, 27 Сентября 2017, 15:08 | Сообщение # 2639 | Тема: Памятка начинающим программистам Unity (и не только)
старожил
Сейчас нет на сайте
Как дополнение к https://gcup.ru/forum/53-23860-1

1) Забудьте про русский язык, он не используется в геймдеве и вообще в разработке. Никогда не пишите никаких запросов в гугл на русском.

2) Ищите ответы на свои вопросы в первую очередь в официальной документации Unity, там есть 90% всего, что может понадобиться начинающему разработчику, оставшиеся 10% приходятся на Unity Answers

3) Не воспринимайте то, что вы сейчас делаете, как разработку игры. Это не более чем обучение программированию. Все что вы делаете скорее всего придется либо выкинуть, либо полностью переписать, поэтому не привязывайтесь к своему коду как к домашнему питомцу.

4) Не создавайте темы каждый раз когда вы чего-то не понимаете или не можете сделать. Ответы на 99% вопросов есть в гугле, причем на 1-2 местах.

5) Используйте готовые решения. Не пытайтесь заново изобрести симуляцию физики, поиск путей или шейдер воды. Все это уже давно сделано до вас, отлажено и оптимизировано на основе отзывов от сотен или даже тысяч людей. Вы не сделаете лучше. Вы сделаете как на фото:



6) И да, не пытайтесь создать MMORPG, если вы вчера первый раз открыли Visual Studio


Сообщение отредактировал drcrack - Четверг, 28 Сентября 2017, 03:03
drcrackДата: Среда, 27 Сентября 2017, 14:41 | Сообщение # 2640 | Тема: Течение времени
старожил
Сейчас нет на сайте
сохраняешь любым способом (просто в файл, в PlayerPrefs, отправляешь на сервер и тд) время начала строительства и при загрузке игры смотришь сколько времени прошло с тех пор, если больше 3 часов, то значит он уже готов, иначе показываешь прогресс строительства
не понимаю в чем проблема на самом деле)
Форум игроделов » Записи участника » drcrack [2693]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг