Просмотр полной версии : [Starling] Хочу перейти на starling. Прошу советов!
zCHESNOKz
06.01.2016, 11:44
Всем привет!
Хочу перейти на starling. И хочу спросить! Что ж это получается, теперь вместо удобного ручного создания и позиционирования мувиклипов, придется (пример с GUI) сначала загрузить растр в игру. И по координатам размещать программно все элементы на экране, заглядываю на уже собранный интерфейс? А если их Много) Нельзя ли как то этот процесс упростить? Может какие нибудь есть советы на этот счет. Просто такой контраст удобств меня немного ошарашил)
Очень прошу, дайте пожалуйста инфы о старлинге на Русском языке. Блоги, статьи, рецепты, советы, уроки, да хоть что то. С английским языком не знаком. А гугл переводчик просто ломает мозг.
Заранее спасибо!
caseyryan
06.01.2016, 14:39
Очень прошу, дайте пожалуйста инфы о старлинге на Русском языке. Блоги, статьи, рецепты, советы, уроки, да хоть что то. С английским языком не знаком. А гугл переводчик просто ломает мозг.
Проще говоря разжуйте и в рот положите)
Так (http://tinyurl.com/hm3hpqn) не пробовал? Все, что можно найти по старлингу на русском языке, ты и сам можешь легко нагуглить. Никаких секретных ресурсов "для избраных" нет.
Хочу перейти на starling. И хочу спросить! Что ж это получается, теперь вместо удобного ручного создания и позиционирования мувиклипов, придется (пример с GUI) сначала загрузить растр в игру. И по координатам размещать программно все элементы на экране, заглядываю на уже собранный интерфейс? А если их Много) Нельзя ли как то этот процесс упростить? Может какие нибудь есть советы на этот счет. Просто такой контраст удобств меня немного ошарашил)
Ты можешь написать свой инструмент для позиционирования объектов.
ZackMercury
06.01.2016, 15:18
Можно позиционировать во флеше растровые картинки с именами классов как надо, а затем по именам классов преобразовывать в классы для старлинга, парся DL с помощью какой-то рекурсивной функции.
zCHESNOKz
06.01.2016, 15:31
Проще говоря разжуйте и в рот положите)
Так (http://tinyurl.com/hm3hpqn) не пробовал? Все, что можно найти по старлингу на русском языке, ты и сам можешь легко нагуглить. Никаких секретных ресурсов "для избраных" нет.
Ты можешь написать свой инструмент для позиционирования объектов.
:D ладно, не буду наглеть)
Добавлено через 2 минуты
Можно позиционировать во флеше растровые картинки с именами классов как надо, а затем по именам классов преобразовывать в классы для старлинга, парся DL с помощью какой-то рекурсивной функции.
Хм, сложновато. Остановлюсь на более примитивном решении. :rolleyes:
ZackMercury
06.01.2016, 16:15
А по мне наоборот проще, не надо писать свой редактор.
zCHESNOKz
06.01.2016, 16:24
А по мне наоборот проще, не надо писать свой редактор.
Возможно я не совсем понял. Что значит:
парся DL с помощью какой-то рекурсивной функции.
?
ZackMercury
06.01.2016, 16:51
Ну, есть у вас мувик с именем класса Panel_mc, в нём расположены битмапы с именами классов Button_bmp, Icon_bmp, CheckBox_bmp, RadioGroup_bmp. Функцией проходимся по всему DisplayList мувика панели.
Допустим, передаём функции Utils.parse(Panel_mc), и возвращаем Sprite.
В функции вытаскиваем имя класса с помощью getQualifiedClassName (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#getQualifiedClassName()), затем убираем _bmp и создаём объект по getDefinitionByName (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#getDefinitionByName())
Присваиваем координаты, имя, чтобы можно было доставать потом нужное поле/кнопку
и возвращаем готовый starling.display.Sprite с расставленными и названными объектами или ваш его наследник, который будет возвращать вам нужный объект по имени.
Рекурсия не нужна. Если конечно у вас не нужны будут вложенные объекты(например, мувики, в которых - другие объекты)
caseyryan
06.01.2016, 17:34
Зак, по-моему ты какой-то мудреный вариант предложил. Даже я не совсем понял как этот механизм должен работать
ZackMercury
06.01.2016, 17:40
Имена классов Button, Icon, CheckBox, RadioGroup должны совпадать только с именами битмапов(Button_bmp, Icon_bmp, CheckBox_bmp, RadioGroup_bmp).
Проходимся по дисплейлисту мувика, берём каждого ребёнка, берём имя его класса, убираем у него _bmp и достаём класс с таким именем.
Затем позиционируем и возвращаем готовый спрайт с расставленными объектами.
(Алгоритм работы функции)
Мне кажется достаточно просто.
caseyryan
06.01.2016, 17:45
Аа, то есть просто как скетч-схему собирать во флеше. Но тут есть загвоздка. getQualifiedClassName вернет название класса с полным пакетом
Например somepackage.somemorepackage::SomeBitmap_bmp
И создать в старлинге что-то по этой схеме не получится. Придется менять еще и название пакета. А так да, вариант хороший
ZackMercury
06.01.2016, 17:56
Отбросить пакет.
var classNm:String = getQualifiedClassName(...);
classNm = classNm.substr(classNm.lastIndexOf(":")+1);
classNm = classNm.substr(0, classNm.lastIndexOf("_bmp")-1);
getDefinitionByName не требует пакета, разве нет?
Наверное, импортировать нужные классы, которые будут подстановлены будет достаточно.
caseyryan
06.01.2016, 19:07
getDefinitionByName не требует пакета, разве нет?
Требует
http://wiki.starling-framework.org/builder/start появился не так давно, скорее всего будет развиваться, так как проблема сборки окон под старлинг стоит давно. пока удобнее писать что-то свое, вот то как это может выглядеть http://prntscr.com/9mt72a )
Вариант проще - клавиатурный редактор который вызывается в приле по гор.клавишам, табуляцией делать навигацию по дисплейлисту(мне показался более удобным). http://prntscr.com/9mt45l
Ну и еще, если хочется расставлять все таки в flash, можно сохранять в xfl а не fla файл и парсить его
ZackMercury
06.01.2016, 20:16
Не работает, проверил. Ну хорошо. В таком случае можно сделать хеш-таблицу подстановки, какое имя класса каким будет заменяться.
zCHESNOKz
06.01.2016, 22:23
Не работает, проверил. Ну хорошо. В таком случае можно сделать хеш-таблицу подстановки, какое имя класса каким будет заменяться.
Чтобы не создавать новую тему. GAF - это круто? Мне интересно чем это все потом приводиться в движение?
caseyryan
06.01.2016, 22:30
Мне интересно чем это все потом приводиться в движение?
Кодом, там специальная библиотека. Это типа аналога Dragon Bones, только платного
Как вариант, который мы использовали для одного физического пазла - расставляем во flash ide все растровые картинки, пишем код, который экспортирует конфиг с именами и позициями графических элементов. В самой игре пишется парсер этого конфига, который автоматически расставляет все элементы в нужные места.
zCHESNOKz, gaf - очень полезная штука, если правильно использовать. Но он не для всех случаев может подойти и не всегда оправдан. Идеально подойдёт, если есть много сложных линейных анимаций.
только платного
Платные там только дополнительные возможности, которые далеко не всем нужны.
zCHESNOKz
06.01.2016, 23:33
Как вариант, который мы использовали для одного физического пазла - расставляем во flash ide все растровые картинки, пишем код, который экспортирует конфиг с именами и позициями графических элементов. В самой игре пишется парсер этого конфига, который автоматически расставляет все элементы в нужные места.
Это уже по проще как для меня будет.
если правильно использовать
У меня например в игре кнопки аннимированы tween"ом (scaleX, scaleY, colorTransform). Также простенько аннимированы и персонажи.
1. если раскадровать на спрайтшит - то займет много места.
2. если аннимировать программно - думаю возможен просед FPS.
3. как вариант - GAF. минимум места + малый процент проседа FPS по сравнению с моим возможно кривым анимированием.
выбор - 3 ?
zCHESNOKz, это, возможно, самое неподходящее применение gaf из всех, что я встречал.
Зачем прикручивать тяжеленный движок к кнопкам и простейшим анимациям персонажей? Лучше, конечно, программная анимация.
Ещё раз. Gaf нужен для сложных анимаций.
zCHESNOKz
07.01.2016, 00:31
zCHESNOKz, это, возможно, самое неподходящее применение gaf из всех, что я встречал.
Зачем прикручивать тяжеленный движок к кнопкам и простейшим анимациям персонажей? Лучше, конечно, программная анимация.
Ещё раз. Gaf нужен для сложных анимаций.
Понял. Спасибо)
sergiy1oliynik
26.02.2016, 12:31
Попробуйте Feathers. Прикольный UI Framework.
http://feathersui.com/
caseyryan
26.02.2016, 14:59
zCHESNOKz, это, возможно, самое неподходящее применение gaf из всех, что я встречал.
Зачем прикручивать тяжеленный движок к кнопкам и простейшим анимациям персонажей? Лучше, конечно, программная анимация.
Ещё раз. Gaf нужен для сложных анимаций.
Попробовал этот гаф. Не понимаю почему его хвалят. Полная хрень. Я бы за него и копейки не заплатил, не говоря уже о той сумме, которую просят его разрабы.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.