Просмотр полной версии : вопрос по работе с библиотеками
Разбираюсь с флэш, и вот захотел попробовать написать gui на флэш - соответственно возникло масса вопросов :), в частности по правильному использованию библиотек - я имею в виду библиотеку "символов" swf файла. Вот допустим компаную я элемент gui - form, допустим из 3 частей - заголовок(графика), тело формы, и кнопки заголовка(свернуть,закрыть,макс\мин). И проблема возникает тогда, когда хочу я допустим поменять цвет заголовка с красного на синий во всех элементах меню(в частности этой form) и получается что для этого мне надо делать отдельный swf который содержит всего 1рисунок - заголовок, чтобы в нем поменять цвет и так для каждого элемента gui ...либо создать один swf со всеми частями gui и обращаться к его библиотеки с "символам".
мне кажется что использовать кучу swf для каждого элемента gui как то нерационально, подскажите как вытягивать определенные символы из подгружаемого swf, опятьже интересно данным методом загружается всеравно вся библиотека или только вытягиваемый символ(тогда получается что у 1го метода минус - много файлов, соответственно в конечном swf куда все грузиться много слоев будет занято, а у 2го минус - то что вся библиотека будет грузиться, хотя надо только определенные символы)? ..заранее спасибо, если что-то коряво объяснил, готов к дискуссии...
...еще вопрос немного не в тему, но всеже: создавал свои компоненты для gui таким методом: просто рисовал части компонента в обычном fla с соответствующими скриптами для функционала, но допустим ширину и высоту компонента тупо задавал в нешних параметрах, и получается перетаскиваю компонент фиксированного размера и потом только цифрами в параметрах задаю его размеры, а как сделать нормально?, чтоб как стандартыные компоненты можно было интерактивно мышью их растягивать и тп ?
А о какой версии АС идет речь?
В чем вы потом собираетесь эту библиотеку использовать?
Поменять цвет - ColorTransform / TextFormat.color да и вообще масса вариантов...
у меня стоит cs3, соотв в нем можно создавать как as2 так и as3, чесно говоря я не вкурсе на чем лучше писать и в чем приемущество, пока тк только учусь пишу методом тыка на as2, про цвет - суть вопроса была не в том как его поменять, а как поменять весь интерфейс пользователя... опишу на другом примере: допустим пользователь загружает сайт себе локально и может его просматривать, контент этого файла допустим состоит из тысячи swf, и допустим я поменял графику кнопки "закрыть окно "Х" " на какуюто другую, если у меня каждый элемент - отдельный swf, то проблем нет, дал пользователю новый и все, но тогда как я говорил много слоев уходит под конструкцию всего контента, есть вариант как то группировать, тоесть допустим сделать чтобы интерфейс лежал в одном swf, тогда мне надо выкавыривать из его библиотеки те элементы которые мне нужны для формы, или для кнопки, или еще для какогото сгруппированного элемента меню - и тут вопросы: 1ый и основной как ? :), второй если выкавыривать то прийдется всеравно загружать весь swf или только 1 элемент загрузится из библиотеки, к которому обратимся ?
Нечего не могу посоветовать, кроме почитать книги про as2 или as3. Хоть разберетесь с возможностями, синтаксисом и многим другим.
мужики !, подскажите как пользоваться библиотеками(как загружать символы из библиотеки свф в другой свф) и лучше ли этот метод, чем создавать для каждого символа свой свф? я где то читал про это тему где как то через название класса это делать и расшаривать как то можно библиотеки, опять же интересует какие минусы у данных методов...пока пытаюсь найти ответы самостоятельно...
chingachgoog
16.02.2009, 18:27
Библиотеки самих swf (там где галочка "экспорт для скрипта в первый кадр") вам особо не помогут - только в этот swf вы этот экспорт сделать и сможете, а в родителя этой swf-ки - уже нет (окромя скриншота через битмапу).
Поэтому наиболее близко для вашей задачи - расшаренные библиотеки. Это в поиск - разжеванных примереов тут море.
нашел еще одну тему тут где в общем виде описывались скорее всего нужные мне методы :), а именно речь там шла о незнакомых мне эксклудах и о интерфейс+getDefenition вроде так по памяти ... Вобщем пока ищу дальше подробное описание ... ну и приведу более простой пример того чего я хочу, может кто ткнет носом, или объяснит подробно, что мне лучше использовать для моих целей: допустим пишем мы мини игру "одень барби" вообще не моя тема, но чето на ум проще ниче не пришло :))), дак вот есть в главном мувике соответственно тело этой особы, и надо мне написать функционал чтоб одеть эту тетку: соответственно я вижу 2 варианта: 1ый это хранить каждую шмотку в отдельном свф - ну тут проблем нет, loadmovienum и вуаля, но мне кажется это слишком варварский метод - тьма свф файлов всего лиш с 1им символом графики. 2ой это создать несколько файлов свф, допустим: шляпы, платья и тп (и вытягивать уже из них символы нужной части гардироба)... и тут начинаются вопросы: каким методом лучше это все вытягивать для данного функционала, и лучше ли этот метод 1го ... если кто то распишет подробно, буду очень благодарен ...побежал ковырять поиск дальше :) -забыл уточнить, что мысль здесь в том чтобы обновление данной игры было не целиком(допустим захотел я всего одну шляпу поменять - заменил 1 свф и все, в 2ом методе прийдется менять весь файл с шляпами)
А Вам таки уже ответили:
Поэтому наиболее близко для вашей задачи - расшаренные библиотеки.
хотелось бы еще услышать плюсы\минусы данного метода ... по ходу работы: создал МайнМеню.свф туда методом "расшар библиотеки" закинул 2 свф: Каптион.свф и Минимизе.свф (благо эти 2 элемента в МайнМеню мне не надо создавать динамически, тк пробовал - пока не кинеш на сцену ниче не получается, а если кидаеш то потом динамически прибавляеш уже 2ой). Потом я пытаюсь в главный свой файл закинуть этот МайнМеню - дак вот ничего не отображается при этом. Подскажите что делать.. получается у меня двойное вложение ... таким же макаром расшаривать библиотку МайнМеню или как ? , ...ps пока неответили пытаюсь сам чего нибудь придумать ...
...насчет вложений разобрался, извините что запутал, все нормально загружается, просто я еще все это загружаю в дельфи через активикс, там немного напутал :)
Чего делать? Внимательней читать про работу с библиотеками. В частности, не забывать прописывать линкайже для элементов либы. Ну и аттачить естественно.
вобщем всем спасибо !, используя расшареные библиотеки я добился нужного мне результата !, всем еще раз спасибо !, единственное никто так и не рассказал о +\- этого метода, конкретно интересует защита своего проекта тк судя из названия "расшаренные" она отсутствует, хотя если капнуть глубже - предпологается что мои файлы свф должны лежать на машине у пользователя - я так понимаю при таком раскладе без всяки шар мои свф распотрошат за 5 сек, причем даже мозг напрягать ненадо - просто качнуть софтину ... надеюсь я неправ :)
1uka, а Вы в курсе, что если Ваш провайдер не придерется, то файлы шарныых либ могут в принципе иметь любое расширение? - Это я к простоте выдрать их на локальной машине.
невкурсе, вообще у меня есть софтина которая с легкостью потрошит свф и ехе, насчет других расширений - полез искать доки.., спасибо за наводку !
Да речь о том, что вы можете свои свф назвать 12.k16 или 012sd25j.w0t - FlashPlayer в целом все равно, он без проблем разберется что это свф и что с ним делать. Теперь представьте, что эти файлы с бессмысленными названиями лежат еще и не на том сервере, с которого взята корневая свф. Что юный хакер увидит в кеше эксплорера? Файлы с безумными техно названиями, неизвестными расширениями, без флэш-иконок, загруженные с неизвестного сайта? Сможет он сообразить, что это и есть догружаемые в интересующую его флэшку файлы и что их надо взламывать декомпилером как свф? Понятно, что стопроцентной защиты нет. Но есть способы сократить количество попыток))
А еще есть очень интересные зарегистрированные в системе расширения - .tmp или .mp3
я всетаки думаю что это слишком простой способ защиты, особенно при том что мой проект должен лежать локально у пользователя, следовательно поняв что он написан на флэш нетрудно будет перепотрошить все .мп3, которые не играют в винампе, сравнимо с зарыванием ихже в 10й уровень подпапок, тоже подобная фишка - еще более простая ....мое имхо - былобы желание ..., даже известные брэндовые фирмы защищают свои видеоролики переименовав их подобным способом 12.k16 или 012sd25j.w0t, даже в них я просто мимоходом от нече делать попробовал их переименовать в .ави и чудом угадал, помогло конешно что названия файлов были соотв intro.w0t и тп ....
Не, ну локал это другое. Моё имхо - открыть папку "game/superGame!/video" и переименовать w0t в avi действительно большого ума не надо. Другими словами, Вы спрашиваете - как защитить свф файл от взлома человеком, который знает что вот он - свф файл. Никак.
Всего доброго.
1uka, заметьте, Вам никто не говорит, что это мега надежный способ. Это так, к общему положению дел.
Флеш не обеспечивает какой то высокий уровень защиты данных в принципе. Просто работа с внешней библиотекой - довольно удобный прием. Используется естественно, не только во флеше. Если Ваш проект лежит целиком у клиента, то вообще не понятно, о какой безопасности может идти речь?
aksios, полностью согласен, об этом сразу и написал :), просто была надежда, что кто нибудь из гуру предложит классный метод защиты, как таковой метод расшар либ меня всем устраивает, просто прикапался к слову расшар, извините ... :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.