Пятница, 29 Марта 2024, 03:32

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Наверно не в тему, но все же вопросик о Frame
Наверно не в тему, но все же вопросик о Frame
VostruginДата: Понедельник, 08 Января 2018, 15:36 | Сообщение # 21
постоянный участник
Сейчас нет на сайте
Код не мой, нашёл на StackOverflow. Мне решение по ссылке не очень нравится, но пусть это будет отправной точкой для Вас. Успехов!



x64Дата: Понедельник, 08 Января 2018, 16:56 | Сообщение # 22
был не раз
Сейчас нет на сайте
Vostrugin, ну в целом уже разобрался с ресайзом и даже сделал резайз по вертикали для верхнего фрейма. Но теперь я так понимаю у меня есть 4 дива разметки и содержимое в них уже не инклудить нужно, а снова таки через скрипт как то заменять контент в каждой из них?

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

Собственно говоря принцип не плох но до поры до времени. Первое же испытание хоронит данную методику ;((( увы. Хотя конечно и Вы, и многие другие скажете, что я зря паникую и все решается. Вполне может быть, но когда знания = почти 0 в области джаваскрипта и адаптации под мобильные устройства, тогда все дается трудно и каждый шаг сопровождается разочарованиями.

Эх... даже не знаю есть ли решение? Чтобы не фреймы и чтобы все как часы работало


Сообщение отредактировал x64 - Понедельник, 08 Января 2018, 17:58
lvovandДата: Понедельник, 08 Января 2018, 21:56 | Сообщение # 23
старожил
Сейчас нет на сайте
x64, чтобы не париться с адаптацией под мобилки, возьмите фреймворк, например bootstrap,
его минимальной готовой темы хватит более чем.
если нет проблем со знаниями php, то уж вникнуть в js, по-моему, не проблема


Разработка и продвижение сайтов. Дизайн
x64Дата: Среда, 10 Января 2018, 19:47 | Сообщение # 24
был не раз
Сейчас нет на сайте
lvovand, добрый вечер
Ситуация такова - у меня заработал чат с использованием JQuery в отдельности работает безупречно! Но опять таки корень всех бед упирается в то что нужно объединение произвести. Опишу проблему.
Есть страница main.php в ней навигация не аякс а с гет запросами и поэтому страница перегружается. К тому же контент страница берет из хтмл шаблона через файл_гет_контенст и подменяет %нужный маркер% на нужное содержание. В целом опять же сама по себе страница исправно работает. Но если к ней прикрутить чат (который на аяксе построен) то выходит бредовая ситуация. Чат перезагружается вместе со страницей main.php

Если же положить чат и див куда чат выводится в хтмл шаблон - то уже не работает сам аякс так как нет прямого обращения к странице.

Выход 1 - нужно каким то образом все равно разделить главную страницу игры на 2 части хотя бы ИГРА (пусть себе перегружается) и ЧАТ (без перезагрузки)

но здесь у меня полнейший ступор...

как уже только не комбинировал ну не работает или одно или другое или все вместе или не тот эффект

может подскажете все таки как решить проблему? (есть main.php + chat.php по отдельности живут и работают прекрасно) вместе бредово или не работают вообще

объединить то можно через фрейсет (но вроде эту тему советовали откинуть и забыть на корню) - ок. А что кроме фреймсет?
VostruginДата: Среда, 10 Января 2018, 22:42 | Сообщение # 25
постоянный участник
Сейчас нет на сайте
Я уже предлагал Вам решение, откажитесь от перезагрузки страницы. Грузите страницы аяксом. Страницу будете рендерить в один блок, чат в другой.
Фреймсет вроде уже не входит в спецификацию html5.






Сообщение отредактировал Vostrugin - Среда, 10 Января 2018, 22:43
lvovandДата: Среда, 10 Января 2018, 22:50 | Сообщение # 26
старожил
Сейчас нет на сайте
x64,
логично что бредово мутить чат на аяксе и тут же обновлять страницу,
соглашусь с комментом выше, если уж идти по аяксовому пути, то и страницу обновлять аяксом.
получать список объектов периодичекси и через js обновлять


Разработка и продвижение сайтов. Дизайн
x64Дата: Пятница, 12 Января 2018, 03:37 | Сообщение # 27
был не раз
Сейчас нет на сайте
Доброй ночи или утра!
Значит вот что я сделал согласно ваших рекомендаций.
Разметку по методу Vostrugin, сделал скриптом и дивами.
Подключил JQuery и подключил чат. Все вроде бы работает.
Чат живет нормально (почти) ну особых претензий нет.
Но вот дальше начались чудеса.
Чтобы не перегружать страницу решил и содержание страницы мэйн.пхп получать через аякс.
Ну работает вроде. Даже функции написал на клик по ссылкам меню.

И дошел до смешного и видимо злополучного (для меня) логаута(выхода и разлогина).
По хорошему есть страница логаут.пхп где все сессии убиваются и игрок хедером перекидывается на индексную стартовую. По крайней мере в пхп варианте хедер шикарно и безупречно работал. Но не здесь. Как я уже не писал запросы. Уже даже напрямую выкидывал на индекс с попыткой разлогиниться там и просто вешал ссылку прямую на кнопку выход и через аякс и так и этак да вот ничерта не происходит. Все висит и хедер не отрабатывает. Хотя код 200% правильный и рабочий (взят из рабочего же материала).

Проверил все это дело без аякса и скриптов. Конечно чат уехал и разметка то же. Но за то страница мэйн.пхп стала работать как положено хоть и с перезагрузкой. И тот же хедер стал работать.

Вернул JQuery и скрипты = все висит (кроме чата и простенькой навигации, которая по сути ничего функционального не несет)

И тут уже как я не матерился. Ну никак не удается склеить 2 технологии. Понимаю для этого нужно мастерство. Нужен опыт. Но поверьте господа - не идиот. Старался. Отложил пока весь проект в том виде как есть (может кому-то придется показать код чтобы понять в чем сложность) - но развитие игры тотально остановилось. Уже более недели бьюсь над простым вопросом - склеить 2 разных страницы и заставить их жить своей жизнью по отдельности но при этом иметь общий контроль над обоими через сессию пользователя (залогинен или нет). Все. Чат это 10000% аякс технология и тут даже нет 2х вариантов. И оно ж в отдельности прекрасно работает. А что до тела игры на пхп то изучил еще раз пристально 2 проекта в которые играю и смотрел под микроскопом как ведет себя страница по тому или иному действию. Идут перезагрузки!!! Почти по каждому действию. Куда бы игрок не двинулся, какое бы действие не выполнил - колесико обновления страницы крутится и обновляется. Но при этом обновляется верхушка страницы а низ (с чатом и кто онлайн) живут себе отдельно.

Смотрел код в одном из проектов. Там фреймсеты. Но единственное что - они прописаны в скрипте. Хотя я видел только скрипты проекта и трудно судить о другой начинке. Но ведь работает.

Скорее всего буду искать решение с фреймами. Как бы я ни хотел заставить проект работать 100% под аяксом и без перезагрузок - но чувствую это или для очень огромной команды спецов по аяксу и скритам или для спеца с огромным опытом (гуру). Я же любитель. И хочу работать над логикой игры. А тут такая засада.

Очень хочу пообщаться с игроделами тех лет. Может кто-то читает тему. Буду рад с вами пообщаться. Нужен ваш опыт.

Меня устроит "древность" технологии - просто хочется сделать сборку и забыть о ней + идти дальше в развитии проекта а не копаться на месте и делать безсмысленную работу в мусорку.

Спасибо за советы господа! Многое и правда прекрасно работает. И скрипты это круто - не спорю. Но какое то ощущение не покидало что сейчас все рухнет.

И рухнуло!!! Я не смог в джава скрипт отправить переменную с именем пользователя!!! С именем (варчар которая в бд) - НО ;) и это смех при этом же расклад айди (интегер) прекрасно - передался. И тут я понял что если проблема с простой передачей данных и нужны 3х этажные костыли или танцы с бубном до утра - то это точно не пойдет. А если посложнее задача? Ну ок за деньги бы делал - если бы была потребность, но проект для души. Не хочу его бросать но пока разочарован тем, что не вижу решения кроме фреймов. Увы....

А так хотелось перейти на что-то современное. Но. Не тяну я пока скрипты настолько.
drcrackДата: Пятница, 12 Января 2018, 06:34 | Сообщение # 28
старожил
Сейчас нет на сайте
Цитата
Я не смог в джава скрипт отправить переменную с именем пользователя!!!

Код покажешь или звонить телепату? ;)

Цитата
Не хочу его бросать но пока разочарован тем, что не вижу решения кроме фреймов.

Это не решение, а тупик, об этом тебе уже 10 человек сказали
И ты почему-то с ними споришь, хотя у тебя знаний не хватает даже чтобы имя игрока передать в браузер...
Ничего личного, просто непонятная логика, зачем вообще советы спрашивать чтобы потом их игнорить <_<


Сообщение отредактировал drcrack - Пятница, 12 Января 2018, 06:38
VostruginДата: Пятница, 12 Января 2018, 10:07 | Сообщение # 29
постоянный участник
Сейчас нет на сайте
Как и сказали выше, без кода Вам вряд ли можно чем-то помочь.
Общая идея логаута: вы переадресуете юзера на /logout, на серверной стороне обнуляете авторизацию и делаете ещё один редирект на главную страницу. По итогу человек даже не увидет промежуточной страницы.
По передачи данных. Почитайте пару статей, потренируйтесь на маленьком проекте. Сайты на аяксе уже как 3 года, если не больше - стандарт.






Сообщение отредактировал Vostrugin - Пятница, 12 Января 2018, 10:07
x64Дата: Пятница, 12 Января 2018, 14:46 | Сообщение # 30
был не раз
Сейчас нет на сайте
Цитата Vostrugin ()
Общая идея логаута: вы переадресуете юзера на /logout, на серверной стороне обнуляете авторизацию и делаете ещё один редирект на главную страницу. По итогу человек даже не увидет промежуточной страницы.

Вот этот самый момент я прекрасно понимаю. На странице логаут.пхп уничтожаются все сессии и игрок улетает на главную. Но повторю. Видимо плохо объяснил - сам принцип логаута я изучил уже давно и он безупречно работает в чистом php проекте без скриптов. Собственно говоря я ж писал. У меня есть готовая конструкция. Она работала пока не подсоединил QJuery. Т.е. вместо прямого обращения к строке браузера с перезагрузкой - я написал 3 функции на каждую из 3х ссылок меню.!!!! (хотя их подразумевается в разы больше ну не о том речь). И кликая на ссылке я все таки добился чтобы аякс реагировал и запрашивал действия на странице мэйн.пхп и возвращал результат в див контейнер. Как бы работает. Но именно в этот момент прекратил работать логаут полностью и хедер перестал редиректить.

Код? там каша с кодом. И я уважаю ваше время и после последних комментариев боюсь даже показывать. Засмеете.

Ну все же покажу. Только не смейтесь пожалуйста. Я не выпендриваюсь и профи из себя не корчу. Я скромный любитель, и хочу разобраться + понять свои ошибки. Если вам время не жаль то вот код. Буду признателен если укажете мне косяки мои.

Добавлено (12 января 2018, 11:48)
---------------------------------------------
Выкладываю все что есть в спойлерах
index.php // тут логин простейший и пока все + планировал дополнительную инфу для всех но главное это индексная страница сайта


Добавлено (12 января 2018, 11:50)
---------------------------------------------
island.php // тут получилась разметка по вашему совету в общем то но дальше пошел почти бред с моими потугами соорудить скрипты


Добавлено (12 января 2018, 11:52)
---------------------------------------------
ajax.php // тут обработка запросов


Добавлено (12 января 2018, 11:54)
---------------------------------------------
main.php // тут подразумевалась сама игра но пока как вы видите аж 3 ссылки меню которые должны подгружать контент ну а выход ответачает за выход (точнее отвечала) сейчас не работает я там стер разлогин т.к. зависало все и ничего не происходило



Добавлено (12 января 2018, 11:57)
---------------------------------------------
/core/classes/db.php // конфигурационный файл специально умышленно вынес в корень чтобы было удобно обновлять по фтп и не перезаписывать локальные настройки и настройки для веб-сервера



Добавлено (12 января 2018, 11:58)
---------------------------------------------
config.php // всего лишь данные и все



Добавлено (12 января 2018, 12:03)
---------------------------------------------
ну вот собственно говоря основные файлы... но повторюсь где проблема
проблема в том что к примеру main.php прекрасно работал сам по себе!!! а когда я стал его передавать черех JQuery в файл island.php то по сути и начался бред. Я понимаю как действует скрипт. Он берет содержание файла мэйн (или другого) и возвращает данные в див. Но это уже как картинка. Не более. Эту картинку по сути не отредактируешь. Видимо в этом и есть проблема. Но если с чатом этого хватает то с основной частью нет.

Ну в целом выложил код. Смейтесь если хотите. Но не для смеха выкладывал.

Добавлено (12 января 2018, 12:07)
---------------------------------------------
И еще!
Я всегда стараюсь разделить php и html и потому прекрасно понимаю что то, написано в индексной странице = некорректно (да и в других то же) но уже намешал эту кашу пытаясь хоть как то заставить это работать.

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

Здесь же сам намешал кашу и меня самого тошнит от этого... но скрипты джава вынесли мозг. Без каши не получилось организовать проект

Добавлено (12 января 2018, 12:09)
---------------------------------------------
Так же по стилям. Их можно отдельно вынести в css просто не дошло до этого

А вот на счет скриптов (всех что есть) я пытался их положить в отдельные файлы чтобы не раздувать тело но и тут меня ждала беда - как только складываю в отдельный файл скрипт и подключаю его вообще не шевелится. Вернул скрипт в тело (хеад) все рабоатает.

Добавлено (12 января 2018, 12:16)
---------------------------------------------
да и вот еще
Код
<a href=#><img src="../core/images/smiles/kz.gif" onclick="document.getElementById('message').value = document.getElementById('message').value + ':kz:'"></a>

вот эта строка кода в файле island.php по сути загружает смайлик + по клику добавляет его в поле для отправки сообщения

ну просто же не так ли?

и работает!!! казалось бы что еще надо?

а вот во время выборки сообщений из БД в файле ajax.php там где хотел сделать реплейс смайлов вставил тот же код!!! и НЕ работает!
ну т.е. смайли только подгружается а онклик событие не работает!!! как ни крутил - глухо.

В итоге пока оставил там просто вывод смайликов в сообщения (хотя они по задумке должны были быть еще и кликабельны) но понимаю все из за того что страница то формируется в аякс.пхп а потом через квери переносится в див файла исланд.пхп и уже становится картинкой не живой ((((

а так быть ну никак не должно!

Добавлено (12 января 2018, 12:24)
---------------------------------------------
Господа!
Понимаю кто-то злобно улыбнется сейчас мол гыгыгы ахаха
Но мне насмешки по боку. Я тут не за этим.
Разобраться то разберусь в итоге в любом случае и намеченное достигну. Просто с вашей помощью это может быть быстрее. Код за меня писать не прошу (руки есть) - а вот указать ошибки это да. Для того и выложил.

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

в общем вот такая ситуация.

С уважением х64

Добавлено (12 января 2018, 14:36)
---------------------------------------------
Еще раз добрый день!
Вот сейчас запилил более менее понятное вход и выход
На примере посмотрите чего я хочу добиться в плане разделения кода

index.php // только пхп никакого хтмл, весь хтмл вызывается из шаблона и маркер контент заменяется


Добавлено (12 января 2018, 14:36)
---------------------------------------------
index.html // собственно шаблон


Добавлено (12 января 2018, 14:38)
---------------------------------------------
login.html // также шаблон который можно модернизировать хоть до посинения не затрагивая исполняемый код

Добавлено (12 января 2018, 14:40)
---------------------------------------------
island.php // собственно тут пока ничего вообще кроме выхода нет - просто для чистоты понимания! или отображается содержимое или выбрасывает в корень если потерялась сессия (по любой из причин) или кто-то полез в строку безопасности пытаясь там чего-то подшаманить

Добавлено (12 января 2018, 14:46)
---------------------------------------------
класс БД и ее конфигурационный файл тот же что и выкладывал выше (без изменений)
поля БД таблица users до примитива просты id, login, hash, password

Собственного говоря - последнее что выложил это попытка показать мой ход мыслей. Мне действительно надо добиться того, чтобы весь HTML код жил отдельно от PHP т.к. планируется, что над внешним видом шаблонов будут работать несколько человек и им не нужна программная часть с php (подальше от греха) + я ж на месте не сижу, что то модернизирую постоянно. А дизайнер будет колдовать на хтмл и стилями ну понятно надеюсь. Отсюда жесткое разделение согласно принципу MVC

Но! Повторю! Вот именно с этого места и возникает дилема как продолжить?

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

Хочется чистоты и прозрачности. Чтобы все было по полочкам а не каша-малаша.

Сообщение отредактировал x64 - Пятница, 12 Января 2018, 14:38
drcrackДата: Пятница, 12 Января 2018, 14:57 | Сообщение # 31
старожил
Сейчас нет на сайте
Цитата
$result = $db->query("SELECT login, password FROM users WHERE login = '".$_POST['login']."' LIMIT 1");

Слышал про SQL Injection? :D

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

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

Очень рекомендую отложить этот проект пока и сделать что-нибудь попроще на актуальном стеке для самообразования
Хотя бы просто чат на nodejs+socket.io+vue/react


Сообщение отредактировал drcrack - Пятница, 12 Января 2018, 15:01
x64Дата: Пятница, 12 Января 2018, 15:40 | Сообщение # 32
был не раз
Сейчас нет на сайте
drcrack, ну уважаемый, вы видимо ждали момент пока я все таки выложу код, чтобы занять последний этаж небоскреба и пафосно заметить, что мой код корявый. Но вот в чем дело! Я и сам это знаю. А корявость вся как раз от того, что неправильная организация проекта. Собственно говоря я изложил выше что именно добиваюсь и менять курс не планирую.

Что сокетов io и самореализации, то выше ответил - менять курс не планирую.

И вообще зачем писать выложи код, чтобы меня лишний раз ткнуть носом в корявость кода? Было бы все как швейцарские часы - не подымал бы вопрос. А так вам минус!

И еще раз для тех, кто пытается кому-то что-то навязать. Пожалуйста - не тратьте время. Что до выбора темы проекта = это неизменно. Стиль аля Карнаж, БК, КингВарс и тп браузерки. И выбор таков потому, что контингент этих проектов как раз желает модернизации но чтобы сохранился тот доисторический стиль, который сейчас "как бы не в моде"...

Отсюда и желание добиться четко поставленной задачи.

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

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

Существуют по сей день проекты где верхушка с игрой обновляется а чат стоит мертво и на него обновление не действует. Потому что фреймы. И как то ж работает. Собственно как? Вот этот вопрос я и пытаюсь решить. А если у вас есть 100% аналогичное решение - то с радостью выслушаю, да только что-то подсказывает, что нету.


Сообщение отредактировал x64 - Пятница, 12 Января 2018, 16:01
drcrackДата: Пятница, 12 Января 2018, 17:08 | Сообщение # 33
старожил
Сейчас нет на сайте
Цитата
И вообще зачем писать выложи код, чтобы меня лишний раз ткнуть носом в корявость кода?

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


Сообщение отредактировал drcrack - Пятница, 12 Января 2018, 17:09
x64Дата: Пятница, 12 Января 2018, 19:09 | Сообщение # 34
был не раз
Сейчас нет на сайте
drcrack, ну я и делаю то, что хочу. Все сходится. И вот на данный момент есть 100% работоспособная конструкция. Да остались вопросы о том как соединить 2 разные по сути техники (с перезагрузкой страницы и аякс без перезагрузки) но ниче. Как то решу и это.

Добавлено (12 января 2018, 19:09)
---------------------------------------------
Вопрос решен
Все таки фреймы
Но сейчас имеется корректный выход из фрейма по 2м событиям
Если нажал ссылку Выход то используется

Код
logout.php target="_top"
а если в строке безопасности кто-то поковырялся или сессия исстекла то срабатывает скрипт
Код
echo "<script>top.window.location = '/logout.php'</script>";
- вот эта мелочь по сути была поводом создать данную тему, т.к. не знал как этот выход решить из фрейма без эффекта "матрешки" - но сейчас нашел информацию в преподном Гугле.. и данная тема не актуальна. Можно закрыть или удалить.

Всем кто пытался помочь - спасибо booze
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Наверно не в тему, но все же вопросик о Frame
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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