Форум программистов, компьютерный форум, киберфорум
Наши страницы
ActionScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
1

Индикатор здоровья персонажа

13.06.2011, 12:15. Просмотров 2255. Ответов 18
Метки нет (Все метки)

Как сделать индикатор здоровья персонажа?думаю,либо в процентном составе либо полоску.ну,попробую в процентном составе поскольку кажется что проще(если неверно кажется - пожалуйста критикуйте,поскольку я новичёк в этом деле).Итак,скажем в БД MySQL хранится 2 значения: health_min и health_max .И вот, с health_min - это здоровье на текущий момент времени.Как сделать чтобы допустим в каждую минуту прибавлялось 15% к здоровью и заносилось новое значение в БД MySQL причём с точностью до секунды?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2011, 12:15
Ответы с готовыми решениями:

Индикатор здоровья
Проблема заключаеться в следующем: Решил создать игру 5ти минутку ) ну так...

Движение персонажа
Здравствуйте! У меня возникла такая проблема: Есть два мувиклипа на шкале...

Прыжок персонажа
Привет:) Как сделать плавный прыжок персонажу? Из имеющегося кода выходит,...

Настройка движения персонажа
Здравствуйте! У меня на монтажном столе в Macromedia Flash есть объекты...

Ошибка во время движения персонажа
Здравствуйте! Есть персонаж нарисованный в двух клипах(один стоит, второй идёт)...

18
Nuff
214 / 80 / 2
Регистрация: 31.05.2011
Сообщений: 258
13.06.2011, 16:57 2
Цитата Сообщение от linked3234 Посмотреть сообщение
Как сделать индикатор здоровья персонажа?думаю,либо в процентном составе либо полоску.ну,попробую в процентном составе поскольку кажется что проще(если неверно кажется - пожалуйста критикуйте,поскольку я новичёк в этом деле).Итак,скажем в БД MySQL хранится 2 значения: health_min и health_max .И вот, с health_min - это здоровье на текущий момент времени.Как сделать чтобы допустим в каждую минуту прибавлялось 15% к здоровью и заносилось новое значение в БД MySQL причём с точностью до секунды?
зачем вам все это хранить в MySQL? вообще что за приложение вы хотите сделать? может есть решение проще, что в итоге должно получиться?
1
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
13.06.2011, 23:28  [ТС] 3
движок браузерной онлайн игры пишу)вот и стало интересно.пишу - для личного опыта.
0
Nuff
214 / 80 / 2
Регистрация: 31.05.2011
Сообщений: 258
13.06.2011, 23:47 4
вот оно что)
я не думаю что здоровье персонажа нужно постоянно извлекать из MySQL и вновь туда записывать новое значение, уж слишком тяжко может быть вашему серверу, если вы постоянно будете его грузить... вы знаете, MySQL лучше использовать при сохранении, ну или достижении чекпоинтов допустим...
1
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
14.06.2011, 01:04  [ТС] 5
хм...а что если скажем в каждые 5 минут обновлять значение в БД скажем на +5?А если персонаж сбросил,всё заново ждать ему?
0
Nuff
214 / 80 / 2
Регистрация: 31.05.2011
Сообщений: 258
14.06.2011, 01:17 6
Цитата Сообщение от linked3234 Посмотреть сообщение
хм...а что если скажем в каждые 5 минут обновлять значение в БД скажем на +5?А если персонаж сбросил,всё заново ждать ему?
это сильно будет тяжковато, представьте что у вас одновременно играет 100 человек, и у каждого обращение к бд через 5 минут, и это только здоровье, а если записывать в бд постоянно еще и оружие, всякие зелья и т.д. - ваш сервак будет ужасно тупить и врядли кто-то захочет играть в такую игру... здесь нужно например таймер создавать и по истечению 5 мин, прямо во флэшке увеличивать это здоровье, а вот когда игрок захочет сохраниться - тогда и запишите состояние его здоровья на момент сохранения, и с остальных так же... в этом случае использование бд будет логичным...
1
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
14.06.2011, 23:56  [ТС] 7
а как например индекатор здоровья в героях войны и денег?весьма интересно!15000 человек,и...мб и серв мощный,но,мне всёже кажется что они нашли какой-то способ!
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
15.06.2011, 22:20 8
Секьюрные данные лучше хранить на серваке. И храняться они в определенном формате (зависит от ситуации), чтоб не нужно было обновлять каждые n секунд. К примеру дата и то, сколько здоровья было на тот момент, а скорость его восстановления константа. Исходя из таких данных можно вычислить здоровья в любой момент. При снижении этого показатели данные в БД обновляются.
1
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
16.06.2011, 22:10  [ТС] 9
стоп,а это не тригеры в MySQL ли?я работаю с MySQL.Как можно реализовать то,о чём вы сейчас говорите?можете привести маленький кусок php кода как пример?ну скажем:
PHP
1
2
3
$health_min = ... //Здесь здоровье на данный момент
$health_max = ...//Здесь максимальное здоровье персонажа(скажем,пусть до этой цифры он будет восстанавливать $health_min)
$period = ... //Здесь пусть возьмём период,за который восстанавливается скажем 5% здоровья.
ну вот.Допустим этот код если дописать,то во флеше уже безопасней будет хранить данную информацию?т.е. имею в виду просто отображать сколько здоровья и отображать там за счёт php(т.е. как js,подделал - не прошёл проверку на php)?или,лучше сделать какую-либо проерку,что если там здоровье восстановилось скажем заранее,чем назначено,то отвергнуть запрос?или как ещё можно?
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
16.06.2011, 23:11 10
На php не кодил уже 100 лет.
Необходимы следующие переменные:
1) последняя дата измерения здоровья (последний раз, когда настучали по шапке, последний раз когда после этого юзер зашел в приложение и потребовалось вывести его показатели здоровья и пр.)
2) последнее значение здоровья персонажа
3) максимальное значение здоровья (логично менять его только при глобальных событиях: повышение уровня персонажа) - необходимо больше для проверки валидности отправленных серверу данных
4) Как вариант (если это не константа, общая для всех пользователей) - скорость роста здоровья персонажа.
Исходя из этого параметры здоровья можно вычислить в любой момент. Конечно могут возникнуть ситуации, когда, скажем, на персонаже некое заклинание, которое изменяет скорость восстановления здоровья, и его (заклинание) окончание произойдет не обязательно в то время, когда пользователь заходит в игру для обновления данных. В таких ситуациях нужно немного пошевелить мозгой, чтоб сообразить красивое решение. Хотя, не так сложно, как может показаться.

В отношении секьюрности: все необходимые данные отсылаются игроку с сервака, а все что идет серваку от клиента проверяется на валидность (и шифруется при необходимости)
1
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
17.06.2011, 01:03  [ТС] 11
шифруется?как например?
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
17.06.2011, 21:25 12
Да как угодно. На эту тему не одна книжка написана. Есть к примеру библиотеки для MD5-шифрования, в т.ч. под флеш.
1
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
20.06.2011, 23:16  [ТС] 13
хм,а md5 так надёжен?или,прсото надо несколько раз хешировать в md5?
0
Nuff
214 / 80 / 2
Регистрация: 31.05.2011
Сообщений: 258
20.06.2011, 23:37 14
есть куча методов кодирования, и защиты информации... это отдельная наука))) так что если вам уж сильно необходимо обеспечить железную защиту информации от чужих глаз, тогда придется учиться-учиться и еще раз учиться)))

Цитата Сообщение от linked3234 Посмотреть сообщение
хм,а md5 так надёжен?или,прсото надо несколько раз хешировать в md5?
З.Ы.: насколько я знаю, вполне надежная защита...
1
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
21.06.2011, 16:31  [ТС] 15
хм...а можете привести пример восстановление здоровья персонажа допустим в AS3?ну,пополнение,или таймер и т.п.,ну по сути темы.
0
Nuff
214 / 80 / 2
Регистрация: 31.05.2011
Сообщений: 258
21.06.2011, 16:50 16
Цитата Сообщение от linked3234 Посмотреть сообщение
хм...а можете привести пример восстановление здоровья персонажа допустим в AS3?ну,пополнение,или таймер и т.п.,ну по сути темы.
можно, только пример, где здоровье будет восстанавливаться через определенное время на определенный процент...
З.Ы.: послезавтра напишу обязательно, т.к. завтра защита диплома у меня, сегодня хочу поготовиться)
1
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
22.06.2011, 14:08  [ТС] 17
хорошо,буду ждать, удачной защиты)
0
Linked
19 / 19 / 6
Регистрация: 12.12.2010
Сообщений: 677
15.10.2013, 17:28  [ТС] 18
Nuff, ну и где?!
0
Theoryofgames
253 / 237 / 50
Регистрация: 20.12.2011
Сообщений: 707
16.10.2013, 08:11 19
Цитата Сообщение от Nuff Посмотреть сообщение
хм,а md5 так надёжен?или,прсото надо несколько раз хешировать в md5?
MD5 был скомпрометирован уже давно, но вся суть заключается в том, что его все равно вполне достаточно для таких задач, как защита некоторых данных в игре, так как взломать можно абсолютно любую защиту. Задача защиты максимально увеличить время, необходимое для взлома, с чем в данном случае MD5 отлично справится.

По поводу темы - в базе нужно будет хранить еще одно значение - время последнего обновления здоровья. При заходе на клиент текущее здоровье автоматически пересчитается до нужного. На клиенте же вы запускаете таймер, который каждый тик делает то, что Вам нужно.
0
16.10.2013, 08:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 08:11

Движение персонажа по клику мышки
У меня есть персонаж кубик, я хочу чтоб он двигался Все пишу в слой AS Вот...

Задать перемещение экрана в зависимости от движения персонажа
Доброго времени суток ! Решили тут с другом сделать флешку вместе:) Так как в...

Движение персонажа и поворот при изменении направления.
Здравствуйте! AS 2.0 В игре есть персонаж, который двигается по клику...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru