Помощник
|
обработчик кнопки |
Letmetouchyou
|
Сообщение
#1
|
||
|
|
||
|
|||
MetSerp |
13.1.2010, 22:11;
Ответить: MetSerp
Сообщение
#2
|
|
если в коде то впринципе где угодно, но учитывая что это AS 2 то лучше в первом кадре
на всякий случай это значение лучше присобачить к _root чтобы везде видно было то есть [PHP]_root.varText = '';[/PHP] но могу ошибастья немного в синтаксисе так как уже давненько относительно сижу на ас 3 а там совсем иначе :nea: |
|
|
Letmetouchyou
|
Сообщение
#3
|
|
MetSerp, а как такой же обработчик будет выглядеть в ас3?
|
|
|
MetSerp |
14.1.2010, 11:43;
Ответить: MetSerp
Сообщение
#4
|
|
резко больше так как loadVariables более не является элементом языка вместо него появился класс URLLoader в пакете flash.net
и обработчики теперь добавляются вот так: [PHP]object_name.addEventListener(EVENT,handler);[/PHP] разумеется предварительно в пакет желательно импортировать пакеты флэша которые будут участвовать то есть в данном случае [PHP]import flash.events; import flash.net;[/PHP] правда флэша у меня на работе нет, потому мог отпечататься потому приведу пример использования из официального мана Пример В следующем примере загружается XML-файл, а затем содержимое первых аргументов его элементов отображается в текстовом поле. Для определения местоположения XML-файла создается объект URLRequest (например, он может находиться в том же каталоге, где и SWF-файл). Для того чтобы выявить возможные ошибки, файл загружается в блок try...catch. (Здесь выявляются ошибки SecurityError.) При возникновении события IO_ERROR вызывается метод errorHandler(), записывающий сообщение об ошибке в текстовом поле xmlTextField. После того как данные XML-файла получены и помещены в свойство данных URLLoader-объекта loader, отправляется событие Event.COMPLETE и вызывается метод loaderCompleteHandler(). В методе loaderCompleteHandler() блок try...catch используется для выявления любых ошибок анализа, которые могут возникнуть при преобразовании загруженных данных из файла в объект XML. Далее метод readNodes() рекурсивно обрабатывает все элементы в узлах XML-документа и добавляет текстовое поле xmlTextField со списком первых атрибутов всех элементов. [PHP]package { import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.xml.*; import flash.events.IOErrorEvent; public class URLLoader_loadExample extends Sprite { private var xmlTextField:TextField = new TextField(); private var externalXML:XML; private var loader:URLLoader; public function URLLoader_loadExample() { var request:URLRequest = new URLRequest("xmlFile.xml"); loader = new URLLoader(); try { loader.load(request); } catch (error:SecurityError) { trace("A SecurityError has occurred."); } loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); xmlTextField.x = 10; xmlTextField.y = 10; xmlTextField.background = true; xmlTextField.autoSize = TextFieldAutoSize.LEFT; addChild(xmlTextField); } private function loaderCompleteHandler(event:Event):void { try { externalXML = new XML(loader.data); readNodes(externalXML); } catch (e:TypeError) { trace("Could not parse the XML file."); } } private function readNodes(node:XML):void { for each (var element:XML in node.elements()) { xmlTextField.appendText(element.attributes()[0] + "\n"); readNodes(element); } } private function errorHandler(e:IOErrorEvent):void { xmlTextField.text = "Had problem loading the XML File."; } } }[/PHP] |
|
|
Letmetouchyou
|
Сообщение
#5
|
|
еше вопрос:
загрузка изображения у меня так происходит: mapimg.loadImage = function(file) { mapimg.maxWidth=750; mapimg.maxHeight=500; mapimg.image.removeMovieClip(); mapimg.createEmptyMovieClip("image",0); mapimg.image.loadMovie(file); this.onEnterFrame = function() { var l = this.image.getBytesLoaded(); var t = this.image.getBytesTotal(); if (t>0 && l>=t) { delete this.onEnterFrame; this.resize(); } }; }; и вызываеться скрипт так: gotry.htmlText = "<a href='asfunction:loadImage,"+httppath+"map.jpg'>загрузить картинку 300х400</a>"; loadImage = function (file) { _root.gohelp.htmlText = "грузим файл <u>"+file+"</u><br/>"; _root.mapimg.loadImage(file); }; как сделать чтобы загузку изображения на кнопку повесить? делал так on(release) { loadImage = function (file) { _root.gohelp.htmlText = "грузим файл <u>"+file+"</u><br/>"; _root.mapimg.loadImage(file); }; } но не работает. не могу пока понять "философию" флехи :))) _______________________________________________ как я понял , одна из причини ето область видиости. шас в первом фрейме изсенил так: _root.mapimg.loadImage = function(file) { ... } и так же через root вызываю в обработчике на кнопке. правильно? остаеться еше вопрос как в обработчике передавать аргумент функции (file)? работало оно когда я делал без кнопки: gotry.htmlText = "<a href='asfunction:loadImage,"+httppath+"map.jpg'>загрузить картинку 300х400</a> ето было в первом фрейме напиано. |
|
|
MetSerp |
14.1.2010, 12:14;
Ответить: MetSerp
Сообщение
#6
|
|
а ошибку случайно не возвращает никакую? :bannnada:
|
|
|
Letmetouchyou
|
Сообщение
#7
|
|
не ошибок не было )
шас вроде разобрался. просто никогда ранее с фдехой не работал ( хоят вру , чтото рисовал и писал когда был в 7 - 8 классе , помню тогда была flash 5 , а помто меня в онлайн игры затянуло :) ) шас нужно с етим все разобратся. обработчик кнопки сделал так: [PHP]on(release) { var file = "http://gps/map.jpg"; _root.mapimg.loadImage(file); _root.gohelp.htmlText = "грузим файл <u>"+file+"</u><br/>"; }[/PHP] пока работает. шас ресайзы буду делать :) еше вопрос оп теме: создан на сцене мувиклип с тектом. как при нажати на кнопку его удалить? Instance name его txt. пробовал _root.txt.removeMovieClip(); delete txt; root.txt.removeMovieClip(txt); root.removeMovieClip(txt); removeMovieClip(txt); все ето в обработчике на кнопку. MetSerp, подскажи куда копнуть: 1)изображение будет ресайзиться, и нужно чтобы у него были граница, то есть если его увеличивать, границой являлось не само окно флеша, а другой обект ( грубо говоря DIV в которм лежит изображение :) ) 2)при зажатой кнокпи мыши ( в флехе есть вроде такой обработчик ) изображение можно было перетягивать.( внутри етого DIV`а ) :) |
|
|
MetSerp |
14.1.2010, 13:05;
Ответить: MetSerp
Сообщение
#8
|
|
1)изображение будет ресайзиться, и нужно чтобы у него были граница, то есть если его увеличивать, границой являлось не само окно флеша, а другой обект ( грубо говоря DIV в которм лежит изображение :) ) решение которое пришло в лоб и сразу это сравнивать ширину и высоту изображения с шириной и высотой нужного объекта и пока оно не больше или равно увеличивать 2)при зажатой кнокпи мыши ( в флехе есть вроде такой обработчик ) изображение можно было перетягивать.( внутри етого DIV`а ) :) если я правильно понял речь идет о stratDrag и stopDrag а вам надо отслеживать эти события и обрабатывать еше вопрос оп теме: создан на сцене мувиклип с тектом. как при нажати на кнопку его удалить? Instance name его txt. пробовал Команда; удаляет экземпляр мувиклипа, созданного при помощи методов attachMovie или duplicateMovie объекта MovieClip или командой duplicateMovieClip. если он у вас был создан в редакторе то вы его так не удалите, как удалить созданный руками мувик я честно говоря не в курсе, но его можно просто вынести за пределы области видимости флэшки если это возможно либо вместо ручного создания создавать программно тогда и удалять можно будет программно и еще, если вы планируете использовать флэш для онлайн игр то лучше используйте AS 3.0 там это оправданно для простенького банера с головой хватит второго он там даже удобнее будет. Я сам игрушку браузерную с друщьями делаю и начал ее делать на втором АС но когда уперся через половину работы в то что ас 2 не умеет много того что мне нужно пришлось переделывать на ас 3 |
|
|
Letmetouchyou
|
Сообщение
#9
|
|
мне флеха нужна будет чтобы с пхп принимать параметры ( широта и долгота) , ссылку на карту и загружать карту и ставть точки на карте. и с таймаутом обновлять их.
правада еше не знаю, что с етим таймаутом делать.. былобы делло на асп - там отркыл сокет и нету никакаих проблем.) хм, сделал так [PHP]_root.attachMovie("TXT","gotxt");[/PHP] никакой реакции. где ошибка? еше вопро: как создать програмно мувиклип и задать ему коорлдинтаы7 |
|
|
Letmetouchyou
|
Сообщение
#10
|
|
Цитата: Сообщение от Letmetouchyou 1)изображение будет ресайзиться, и нужно чтобы у него были граница, то есть если его увеличивать, границой являлось не само окно флеша, а другой обект ( грубо говоря DIV в которм лежит изображение :) ) решение которое пришло в лоб и сразу это сравнивать ширину и высоту изображения с шириной и высотой нужного объекта и пока оно не больше или равно увеличивать я можетогда не правильно выразился, все седлал через слой - маску ) |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как перенести правила переадресации из .htaccess в php обработчик nginx? | 0 | KrisGuseva | 2097 | 28.12.2019, 7:33 автор: KrisGuseva |
|
Надо поменять картинки кнопки и всё прочее. Сделать круто, чтобы не стыдно за сайт |
0 | atavisma | 2989 | 6.4.2017, 19:04 автор: atavisma |
|
Добавить к коду кнопки функцию Canvas | 0 | Anshag | 5065 | 25.11.2015, 12:41 автор: -Anshag- |
|
DLE: нужно продублировать кнопки "скачать" | 4 | Вентилятор | 2329 | 8.8.2015, 16:41 автор: Hamster69 |
|
Пагинация, как добавить кнопки вперед и назад? | 0 | SlippingForest | 5932 | 1.2.2015, 22:16 автор: -SlippingForest- |
Текстовая версия | Сейчас: 20.4.2024, 4:40 |