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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.05.2013, 18:26
BuKT вне форума Посмотреть профиль Отправить личное сообщение для BuKT Найти все сообщения от BuKT
  № 1  
Ответить с цитированием
BuKT
 
Аватар для BuKT

блогер
Регистрация: Dec 2010
Сообщений: 237
Записей в блоге: 5
По умолчанию Странные параметры DOMSymbolInstance

Коммиты шли сплошным потоком. .fla помечались как бинарники, и если менялись, то только целиком. Работа кипела, ничто не предвещало беды. Пока в один прекрасный момент не перестали выделяться явно имеющиеся на stage символы.

Одним тихим утром это было замечено. Никто не мог понять, как с этим справиться и, главное, как это вообще могло произойти. После нескольких часов автор битого коммита был найден и смотивирован отыскать истинную причину ошибки.

После долгой копки в .xfl и иерархии DOM оказалось, что изменился ровно один параметр ровно в одном, но, к сожалению, очень часто встречающемся символе. К счастью, попытка найти решение в FlashIDE не возымела успеха, равно как и попытка повторить ошибку. Быстро был составлен скрипт и на сервер полетел огроменный коммит с кучей исправленных и перепакованных бинарников.

Смеркалось.

Цитата:
_________
А вопрос собственно о параметрах детей символов, представленных в xfl-формате. Ошибка произошла при следующем коммите:
Код AS3:
<DOMSymbolItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ns.adobe.com/xfl/2008/" name="SymbolA" itemID="4eead774-000005c4" lastModified="1363844520">
  <timeline>
    <DOMTimeline name="SymbolA">
      <layers>
        <DOMLayer name="Layer 1" color="#4FFF4F" current="true" isSelected="true">
          <frames>
            <DOMFrame index="0" keyMode="9728">
              <elements>
--                <DOMSymbolInstance libraryItemName="SymbolB" selected="true" symbolType="graphic" loop="loop">
++                <DOMSymbolInstance libraryItemName="SymbolB" locked="true" symbolType="graphic" loop="loop">
                  <matrix>
                    <Matrix ty="-186"/>
                  </matrix>
                  <transformationPoint>
                    <Point x="339" y="189"/>
                  </transformationPoint>
                </DOMSymbolInstance>
              </elements>
            </DOMFrame>
          </frames>
        </DOMLayer>
      </layers>
    </DOMTimeline>
  </timeline>
</DOMSymbolItem>
Как можно видеть из XML выше - есть некий символ `SymbolA`, в котором лежит единственный `SymbolB`. При пользовании .fla из FlashPro - символ присутствует на сцене, но не выделяется (и не даёт себя изменить). При пользовании сгенерённой .swc - так же присутствует и позволяет проводить манипуляции с собой.

Но что значат эти два параметра DomSymbolInstance: `selected` и `locked`? И как получилось, что первый заменился вторым при манипуляциях исключительно во FlashIDE?
__________________
Дебаггер не предлагать

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

блогер
Регистрация: Dec 2010
Сообщений: 237
Записей в блоге: 5
А ведь скоро два года, как наткнулся на сабжевый баг. Ну не суть.

Оказывается, это действительно можно сделать неосторожной манипуляцией во flashIDE.
Не пытайтесь повторить дома! Как сделать обратно, не разворачиваясь в .xfl - я не знаю:
Цитата:
__________________
Дебаггер не предлагать

Старый 04.02.2015, 03:52
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Чувак вообще странно, что кто то работает с .xfl . Очень странно, так как таких тем не возникает, до этого просто не доходят. Все делают другими средставами.
Конкретно задача какая? ( изначальная )
__________________
Марк Tween

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

блогер
Регистрация: Dec 2010
Сообщений: 237
Записей в блоге: 5
"Чувак", никто и не планировал работать с .xfl. Ошибка возникла из-за работы во flashIDE. Чинится она только из .xfl.

Изначальная задача описана в первом посте.
__________________
Дебаггер не предлагать

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

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Действительно воспроизвел это все во Flash CC, все так и есть, визуально, средствами IDE, это можно исправить только откатив действие в журнале, больше способа я не нашел и не нагуглил. Спасибо, из серии хозяйке на заметку.

Старый 04.02.2015, 12:36
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 6  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
Цитата:
Как сделать обратно
в контекстном меню пунктом ниже "Разблокировать все" поди что то делает.
может надо правый клик по пустой области -> упорядочить -> разблокировать все?

у меня просто flash pro нету, попробовать не могу

нагуглил
Цитата:
To lock or unlock a group or symbol, select the group or symbol, and then select Modify > Arrange > Lock. Select Modify > Arrange > Unlock All to unlock all locked groups and symbols.
https://helpx.adobe.com/flash/using/...g-objects.html правда все равно ничего не понятно. может быть не надо никуда кликать, а в заголовке окна пункт Изменить

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

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Да разблокировать работает, сейчас проверил)), меня просто в инструкции эти строчки смутили select the group or symbol - выбрать и разблокировать если выбрать символ не получается? Тогда это не баг. Просто особенность про которую почти никто не знает.

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

Теги
DOMSymbolInstance , xfl
Опции темы
Опции просмотра

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

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


 


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


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