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

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.08.2013, 23:06
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 11  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
C4Grey Спасибо! Ваш последний абзац все же подтолкнул меня в сторону создания отдельной темы про Feathers. Сегодня спрошу)

Старый 15.08.2013, 00:06
C4Grey вне форума Посмотреть профиль Отправить личное сообщение для C4Grey Найти все сообщения от C4Grey
  № 12  
Ответить с цитированием
C4Grey

Регистрация: May 2007
Сообщений: 181
Отправить сообщение для C4Grey с помощью ICQ Отправить сообщение для C4Grey с помощью Skype™
P.S. Наверное, даром это все писал, так как топикстартера больше эффекты интересуют...тут ответ прост - отрисовка в эффектах, основанных на частицах может быть любой, например в одной моей поделке на OpenGL учитывался вывод через point sprites, display list, и батчи VBO, главное чтобы позволяла архитектура движка(MVC-паттерн тут идеален для применения). Главное в таких частицах, если хотим чего-то посложнее дождя вокруг камеры - гибкая архитектра, позволяющая конфигурировать и создавать эмиттеры частиц с как можно большим количеством параметров, как это сделано, например, в UDK или редакторе MagicParticles. Единственное, что может сделать такой движок GPU-зависимым - это если мы захотим перенести логику на GPU, как это реализовано в Vector Fields внутри UE4(compute shaders, OpenCL), но Flash до такого еще далеко

P.P.S. Пока писал это дополнение, все-таки оказалось, что предыдущий пост написан не зря

Старый 15.08.2013, 00:21
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 13  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
P.S. Наверное, даром это все писал, так как топикстартера больше эффекты интересуют...
C4Grey очень поспешные выводы!) Спасибо большое! С эффектами - я просто уточнил, но я бы соврал, если бы сказал, что меня не интересует библиотека ТАКИХ эффектов, как в моём примере. И раз уж Вы упомянули MVC, то какое место занимает Старлинг? В инициализации класс вью нужно указывать? Или в него обёртывают уже готовую игру?
я сейчас сижу, читаю и пробую просто хотябы его запустить. я с ним знаком только по множеству статей которые я откладывал, так как занимался изучением того, что предшествует изучению этого фраймворка. И как уже написал ранее, я вплотную подошёл к его изучению и уже даже выбора нет. я очень рад этому!
Как всегда с самого начала, кажется не просто, но это только заводит)

Старый 15.08.2013, 01:27
C4Grey вне форума Посмотреть профиль Отправить личное сообщение для C4Grey Найти все сообщения от C4Grey
  № 14  
Ответить с цитированием
C4Grey

Регистрация: May 2007
Сообщений: 181
Отправить сообщение для C4Grey с помощью ICQ Отправить сообщение для C4Grey с помощью Skype™
Инициализовать Starling очень просто, в примерах это делают приблизительно так:
Код AS3:
MyStarling = new Starling(RootUI, stage);
MyStarling.addEventListener('rootCreated', OnStarlingRootCreated);
MyStarling.addEventListener('context3DCreate', OnContext3DCreated);
MyStarling.enableErrorChecking = false;
MyStarling.showStats = true;
MyStarling.start();
В минимальном примере слушатели событий не нужны, первый позволяет получить экземпляр созданного Starling root-класса, второй - отслеживать падения контекста отрисовки(нужно в более-менее крупных проектах, обычно под Android), для повторной загрузки ресурсов в видеопамять. Пересоздание VBO, загрузку текстур и шейдеров Starling обычно берет на себя, это происходит если сделать вот так:
Код AS3:
Starling.handleLostContext = true;
Но часто это может стать помехой разработчику, так как для повторной загрузки текстуры в видеопамять мы должны держать её данные в оперативной памяти, поэтому иногда приходится отслеживать падение контекста вручную, показывать пользователю прогрессбар, и быстро-быстро подгружать нужные файлы . Эта проблема обсуждалась еще год назад, но с тех пор, если не ошибаюсь, никаких удобных способов её решения не появилось, за исключением свойства onRestore у класса Texture, позволяющего задать функцию, которая восстановит текстуру после потери контекста. Это, конечно, если не использовать "родной" AssetManager Starling, у него учитывается возможность потери контекста и он умеет использовать это свойство.

Какова роль класса, инициализируемого Starling, или где хранить экземпляр самого Starling - это решать лучше исходя из своего видения архитектуры, могу сказать только что root-класс обязательно должен быть наследником starling.display.DisplayObject.

Старый 17.08.2013, 17:01
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 15  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
C4Grey Спасибо Вам огромное! Ваша помощь в инициализации, оказалась просто спасательным кругом! Пока спрашивать не чего не буду и денёк почитаю хелп, потренируюсь и потом уже буду вопросы задавать.
Очень рад, что Вы меня склонили к его покорению! Спасибо ещё раз Всем!


Когда я при инициализации Старлинга указываю класс
Код AS3:
new Starling(MyClass,stage);
то MyClass в плане архитектуры становится классом Main всего приложения? Уже из него ссылку на отображение в контроллер передавать?

Старый 18.08.2013, 00:15
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 16  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Вполне возможно, что я люто ошибаюсь, но я в своем приложении не нашел применения для MyClass, оставив его пустышкой, без которой просто не создать экземпляр Starling.

Код AS3:
package 
{
	import starling.display.Sprite;
 
	public class MyClass extends Sprite
	{
		public function MyClass()
		{
			super();
		}
	}
}
__________________
Поймай яблоко 2!

Старый 18.08.2013, 00:54
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 17  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Вполне возможно, что я люто ошибаюсь,
Zebestov Спасибо Вам за ответ, над который я целый день искал ответ.
я его приравнял к обычному Main-у и из него передаю DOC и this.stage ( starling.stage ) в контроллер.
Может такой подход привести к непредвиденной из-за неопытности ошибке?

Старый 18.08.2013, 02:15
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 18  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Не думаю, что это может стать причиной каких-то ошибок.
Я его не использую, потому что как контроллер он меня не устраивает, а как вид он невозможен, бо myStarling.root — это уже DisplayObject.
__________________
Поймай яблоко 2!

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

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

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


 


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


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