Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.12.2011, 10:34
EndoCrinologist вне форума Посмотреть профиль Отправить личное сообщение для EndoCrinologist Найти все сообщения от EndoCrinologist
  № 11  
Ответить с цитированием
EndoCrinologist
 
Аватар для EndoCrinologist

блогер
Регистрация: Feb 2011
Адрес: Россия, Тольятти
Сообщений: 301
Записей в блоге: 10
Нет. Он вставлен в Мувиклип "панели", отвечающей за подключения пользователя к игре, а вот код _root.authentific.setsts.value - это как раз относится к ComboBox'у, отвечающий за переключение статуса Он/Офф лайн. Сейчас я вообще расскажу, что у меня, да как...

Я создаю мультиплеерскую игру и у меня возникла проблема по поводу добавления пользователя в онлайн-списки. Ведь если пользователь заходит в игру, то он опять добавляется и добавляется. И теперь фактически онлайн - 1 юзер, на цифрах - 100500 юзеров.. Я решил от этой проблемы избавиться, добавив дополнительные фукции в мувиклип authentific, в которой в принципе хранятся все переменные, относящиеся к регистрации, авторизации, онлайн-данные (логин, пароль, статус и т.п.).

Осуществил я эти возможности путем ежесекундной проверки согласования UNIX-времени (кол-во секунд с 1.01.1970, по-моему так...). Одна из двух первых функций отправляет время в юзерский файл, другая - проверяет, а не отличается ли это время больше, чем на 5 секунд. Если разница больше 5 - юзер off, меньше - on. При этом, этот статус отправляется в файл статуса юзера.

Затем третья функция смотрит файл статуса, и если юзер on, то идет проверка онлайн-списков. Если юзер есть в этом списке (имеется в виду наличие 4-ех файлов: логин, х-координата, y-координата и угол поворота), то просто будет стоять на готове, как только не поступит команда off с сервера.

P.S. Только что пришла идея: вместо 4-ех файлов - один со всеми данными......

Команда off с сервера (файл статуса) придет только тогда, когда разница составит больше 5 секунд, что осуществляется как раз тем самым переключателем, про который я говорил выше. НО! Проверка положения (по моему способу - это нубский setInterval в 10 мс для функции проверки положения переключателя: "а не изменилось ли положение переключателя???") будет каждые 10 мс запускать проверку онлайн-листов, что будет накладно и для клиента и для сервера.

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

Эта же функция, отвечающая за онлайн-списки, если она получит команду off, то тоже только в этот момент запускает новую проверку, во время которой произойдет удаление этих четырех файлов (P.S. Или одного....).

Четвертая функция отвечает за проверку количества юзеров-онлайн. Проверив наличие файлов в онлайн-списке, она создаст массив, куда запишет всех онлайн-юзеров. А вот тут начнется уже зацикленный в 100 мс процесс, который будет "прогонять" этот массив. "Прогонка" включает в себя: дублирование мувиков-героев, считывание настройки цвета героя, считывание координат и углов поворота. При этом, всё это будет высвечиваться на основной сцене. Отправка этих данных будет сразу же после нажатия или движения мыши.

Вот в принципе и всё. Сейчас попробую опять свой нубский (но немного другой способ) проверки переключателя. Если получится - сообщу...

Добавлено через 5 минут
Кстати... Я вот тут подумал... Зачем мне онлайн пользователи? Ведь все эти файлы с координатами, углами и прочим я могу сделать в основной папке users! При этом будет меньше проблем... Но потом до меня дошло: если я этого не сделаю, то каждый новый пользователь будет добавляться на поле и всё... Рандом координат я, конечно же, сделал.. Но как-то некрасиво получится: куча пользователей и все обездвижены... Или как вы считаете? С онлайнами или без них?

Добавлено через 25 часов 13 минут
Неужели никто поможет?..

Добавлено через 33 часа 37 минут
Я так понимаю, что никто с советом не поможет?
если что - вот ссылка на приложение. ОЧЕНЬ СЫРОЕ
http://forstudents.xe0.ru/multyplayerchat/
чтобы не мучиться
Логин 1111
Пароль 111111
__________________
Надо сменить подпись...

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:05.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.