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

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

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
По умолчанию видимость функций _root в подгружаемом клипе

Недавно наткнулся на интересную особенность флэш,которую, я, как программист С++ привыкшый к байт коду на выходе, даже и не представлял.
Смотрим:
делаем два пустых мувика main.swf и child.swf.

main.swf
Код:
_root.main_trace=function(){trace("main_trace");};
_root.createEmptyMovieClip("mc",1);
_root.mc.loadMovie("child.swf");
child.swf.
Код:
_root.main_trace();
запускаем main.swf.. работает!!! удивительное рядом)))))))
__________________
Отряд Котовскага

Старый 14.10.2007, 00:25
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
main.swf
Код:
_root.main_trace=function(){trace("main_trace");};
_root.createEmptyMovieClip("mc",1);
_root.mc._lockroot = true
_root.mc.loadMovie("child.swf");

Старый 14.10.2007, 00:50
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от udaaff
main.swf
Код:
_root.main_trace=function(){trace("main_trace");};
_root.createEmptyMovieClip("mc",1);
_root.mc._lockroot = true
_root.mc.loadMovie("child.swf");
не работает конечно, ведь при локруте будет явный поиск main_trace в child.swf..
да нафига.. прикол в другом,
Это не баг.. это фича.. просто по логике.. при компиляции child должна возникнуть ошибка.. т.к main_trace не определен, но флэш спокойно компилит и запоминает функцию.. в принципе для чисто скриптовых языков это нормально, но флэш всё-таки нечто серединное..
__________________
Отряд Котовскага

Старый 14.10.2007, 01:12
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 4  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Это даже не фича а обычное явление для флеша, детишки видят родителей.
__________________
Free-lance | Twitter | Me

Старый 14.10.2007, 01:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Это фича AS1, собственно. В рантайме проверки на подобные действия просто нет.

Старый 14.10.2007, 01:16
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
movie 'child.swf'
Код:
push 0.0, '_root'
getVariable
push 'main_trace'
callMethod
pop
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 14.10.2007, 01:20
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 7  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Почему это меня так порадовало:
Волей случая мне попался проектик для переработки - клиент одной многопользовательской игрушки.
Весь клиент лежит в одной флэшке, причем написан без всяких классов через инклуды и.т.п. 600 функци вида _root.funk1=function()..
..17 000 строчек кода (причем без комментов)
Задача - разделить на части.
Переписывать код пока некогда, поэтому можно просто повытаскивать все мувики подключаемые через аттач в отдельные swf - и грузить их через LoadMovie.
Я счастлив!!!
__________________
Отряд Котовскага

Старый 14.10.2007, 02:56
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 8  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от iNils
movie 'child.swf'
Код:
push 0.0, '_root'
getVariable
push 'main_trace'
callMethod
pop
А можно подробнее.. откуда взять этот код?
__________________
Отряд Котовскага

Старый 14.10.2007, 03:29
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Взять flasm.exe и в командной строке запустить:
flasm.exe -d child.swf > child.txt
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 14.10.2007, 04:34
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Или ASV.
Только зачем вам пи-код?

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

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

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


 


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


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