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

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

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от undefined Посмотреть сообщение
а как это можно менять тему топика?
Первое сообщение редактируешь - расширенный режим. И там меняется
__________________
Ко мне можно и нужно обращаться на ты)

Старый 16.05.2016, 21:40
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 12  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
о, спасибо давно искал)

Старый 19.05.2016, 20:02
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 13  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
а почему кстати используешь кастомный класс для контейнеров тутора? как я понимаю это обычные displayObjectContainer, например с кнопками. тогда и связанность меньше.
И не лучше ли хранить весь путь от стейжа, например stage.win1.panel2.btn1, чем пытаться все это кодировать в id кнопки, которая может и не знать где лежит, и как себя отличить от остальных. да и поиск будет быстрее. надо только дать имена контейнерам
Код AS3:
	static public function targetByPath(child:DisplayObjectContainer,path:Array):DisplayObject {
			var childName:String = path.shift();
			if (!childName) return child;
			return findByPath(child.getChildByName(childName),path);
		}
		static public function pathByTarget(target:DisplayObject):Array {
			var path:Array = [];
			while (target!=stage) {
				path.unshift(target.name)
				target = target.parent;
			}
			return path.join('.');
		}


Последний раз редактировалось faraday; 19.05.2016 в 20:48.
Старый 20.05.2016, 08:22
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 14  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
а почему кстати используешь кастомный класс для контейнеров тутора?
Это не класс, а интерфейс. Поэтому он и называется ITutor. Дело в том, что это могут быть и не дисплей объекты, но методы set tutorID и get tutorID у них быть обязаны. Эти свойства им адаются сразу в конструкторе. Этот метод ищет ITutor'ы в дисплей листе. Некоторые могут присылаться с данными в команде от модели. Все должно работать так же

Цитата:
И не лучше ли хранить весь путь от стейжа, например stage.win1.panel2.btn1
Конечно нет. У меня Tutorial вообще не сзязан с игрой. Я могу его запросто перетащить в другую игру и только инструкции внутри переписать под нее. А если я сделаю так, то появится ненужная связанность. Да еще и не надежно прописывать такие "хардкодные" пути

Я делал много разных туторов для разных игр, и наконец пришел к решению, которое дает игроку одновременно и определенную свободу действий (все кнопки которые прямо не запрещены (кстати для запрета, достаточно внести ее tutorID в массив "шага" туториала), будут нажиматься и он сможет походить туда-сюда, что-то попутно поделать, например обыскать ящики), и в то же время не дает ему сильно отойти в сторону от заданий тутора. Никаких черных экранов с дыркой, в которой кнопка. Тут много опиций. Тутор можно легко превратить в полноценный игровой процесс с подсказками. Для этого и нужно, чтобы был общий интерфейс для разных типов объектов

Цитата:
да и поиск будет быстрее. надо только дать имена контейнерам
Этот поиск укладывается в тысячные доли секунды. Объектов на сцене всего пара сотен. Явно не самое слабое место в игре. Игрок даже не заметит никаких задержек, так что о скорости поиска я вообще не парюсь
__________________
Ко мне можно и нужно обращаться на ты)

Старый 20.05.2016, 13:38
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 15  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
Спасибо, надо будет попробовать такую схему, без дырок) но все же как например указать id такого объекта stage.win1.panel2.btn1, тут большоая вложенность, и видно что btn1 может быть тысяча, а нужно из них заблокировать только одну например. И кстати что по свободе действий? по моей статистики проходят раза в 4 хуже, чем когда ведешь до конца. тут же не просто блокирование кнопок, а целые цепочки действий и переходов между ними

Старый 22.05.2016, 09:41
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 16  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
надо будет попробовать такую схему, без дырок) но все же как например указать id такого объекта stage.win1.panel2.btn1, тут большоая вложенность
Можно конкретно в месте создания этой кнопки задать ей другой tutorID, например "thatVeryButton", который перепишет то, что задано в конструкторе. И тогда в туторе просто указать в шаге thatVeryButton, который и будет указывать именно на ту кнопку.

Цитата:
И кстати что по свободе действий? по моей статистики проходят раза в 4 хуже, чем когда ведешь до конца. тут же не просто блокирование кнопок, а целые цепочки действий и переходов между ними
Да тут в принципе тоже самое и получается. Разница лишь в том, что игрок может вместо тупого щелканья по подсвеченным кнопкам, что-то еще сделать. Я в тутор добавляют разный интерактив, вроде разговора с NPC, или обыска разных предметов (в меру конечно, чтобы не сильно отвлекался). Можно что-то разгромить. Но в итоге, когда игрок что-то там поделает, ему все равно придется завершить этап тутора. Там, к примеру, есть двери, ведущие в другие комнаты, и пока завершенный этап тутора не пошлет команду открыть эту дверь, игрок туда зайти не сможет. В общем, не полная свобода, но более свободно, чем в классическом варианте. Игру еще не выпустили, но на своих знакомых друзьях и близких я уже этот тутор опробовал. Прошли без проблем даже те, кто вообще не играет в игры. Как будет после запуска, еще предстоит узнать. Но пока я позитивно настроен по поводу этой схемы
__________________
Ко мне можно и нужно обращаться на ты)

Старый 22.05.2016, 15:25
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 17  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
Спасибо)

Старый 23.05.2016, 14:28
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 18  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
всегда пожалуйста)
__________________
Ко мне можно и нужно обращаться на ты)

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

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

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


 


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


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