PDA

Просмотр полной версии : FlashPlayer 6 GREAT bug!!!


webbie
02.08.2002, 18:23
Столкнулась с такой проблемой:
Ролик, созданный во flash5 в 6м player'e не работает. (работсет криво). Откомпилила его под 6й (в MX) - результат тот же. Причем во внутреннем проигрывателе Flash - все нормально.

Какие мысли, в чем тут дело? 6й Player как-то некорректно обрабатывает код? Или?... :confused: :eek:

john
02.08.2002, 19:02
left side eval

john
02.08.2002, 19:04
поищи в своем коде конструкции вида

eval("blabla") = "значение";

но странно что не работает компелированный в пятерке,
баг (вернее изменение) вылезает только при компиляции в МХ

webbie
02.08.2002, 19:27
eval имеется (на каждом шагу) :(
Так теперь придется ВСЕ переписывать?

john
02.08.2002, 19:58
если в левой части eval (по логике пятерки, создание ссылки на переменную) и в правой части присвоение значения,
то нужно переписывать,

john
02.08.2002, 20:00
если лень, и это для пятого плейера и выше, то нужно сохранить фла для пятерки, и открыв в ней, переэкспортировать, в этом случае будет работать и в шестом плейере,

DeliMIter
02.08.2002, 23:30
Есть вероятность, что были использованы идентификаторы, которые в эмыксе стали осмысленными (predefined), вроде onMouseDown или еще чего-то. Кроме того, если при программировании пришлось залазить в объектную модель пятерки, то у шестерки она другая. Скажем конструкция

function Fun() {
Bla("Bla");
}

SomeClip.callBack = Bla;

при вызове из мувика SomeClip будет абсолютно по разному адресовать в пятерке и эмыксе соответственно. Есть и другие тонкости. Лучше всего переписать код.

Egoritch
03.08.2002, 00:08
Джон, ты не прав. И микромудия так говорит.

В ролики сделанные в пятом флэше с конструкциями типа eval()=..., должны играться (и играются) в 6м плэйере адекватно. Так же, если компилировать в МХ такие конструкции с указанием, что компилинг в 5ую версию, то тоже всё будет работать.

Источник: http://www.macromedia.com/support/flash/ts/documents/assignment_area.htm

john
05.08.2002, 16:09
2Egoritch - :D

перед тем как говорить прав или не прав, нужно проверить.

в МХ, если компелить для пятого плейера, ошибок выдаваться не будет, но и работать тоже не не будет.

lexass
05.08.2002, 17:25
2 All
покажите мне в мануале к 5-ке
где написано что мОнО:
в левой части eval
Гы%)
я знаю, что в 5-ке моно было так юзать, но неразу этого неделал
ИМХО считаю багом что это работало
ЗЫ
В JS кстати это тоже неработает :p

Egoritch
06.08.2002, 12:25
Оригинал написал(а) john
2Egoritch - :D

перед тем как говорить прав или не прав, нужно проверить.

в МХ, если компелить для пятого плейера, ошибок выдаваться не будет, но и работать тоже не не будет.

Работает, Джон, работает.

У нас тут много игр, которые ещё на 4-м и 5-м делались. И там часто eval в левой части. Дык сейчас если что-то изменяем, то компилируем уже в МХ, хоть и в версию 5.

Работает.

webbie
08.08.2002, 16:10
не работает, куда ни компили.. и дело до eval еще не доходит - просто нажимаешь кнопку, а объект отказывается перемещаться на y (игрек) позиций вверх.. у 6го с setProperty тоже какие-то неполадки?

Egoritch
08.08.2002, 16:13
не знаю, о чём ты
setProperty правильно работает с 4-го.... и в 5м и МХ

блин, ты бы поместил сырец.. Кто знает, чё у тя неправильно? Лето, телепаты в отпуске на морях, мы-то люди приземлённые...

john
08.08.2002, 17:27
2Egoritch

дурацкий спор....

ну вот сейчас проверь:



i = 1

eval("blabla"+i) = "value"

trace(blabla1)

Egoritch
08.08.2002, 17:37
не работает :-(

Nox Noctis
09.08.2002, 16:32
2webbie
работает или нет в данном случае определяется на этапе компиляции... если компилятор встречает какие-то аномалии - он просто вырубает скрипт нафиг и все :) я думаю в этом дело... компилятор увидел евал в левой части и подумал "зачем нам кузнец ?... неее, нам кузнец не нужен !.." :D и вырубил заодно все остальное... от греха подальше... :)

RFMitrio
11.08.2002, 02:46
2 Delimiter:
Да, это поначалу удивилои неприятно.
особенно когда в мувик подгружается другой мх-мувик, в котором написано _xscale=10 ресайзится не this, а _level0.