![]() |
|
||||||||||
|
|||||
|
Делаю всё сейчас на АС2.0
Пишу в классах Использую com.person13.util.Proxy проблема в следующем. создаю в цикле кнопки, для каждой назначаю действие при нажатии. должна по идее срабатывать строка : _root.osnMenu["menuText" + i].onRelease = Proxy.create(this, changeLanguage, what_load); класс имортирован, функция вызываемая существует, параметр тоже. функция публичная. если не использую проксю, а пишу просто ...onRelease = function(){ changeLanguage(what_load)}; то тоже ни чего не происходит. не могу понять что случилось, что не так идёт. Ошибок не выводится ни каких ;( тоесть даже функция не вызывается, потому что я там трейс поставил - она бы хоть показала, что работает, а так - пусто ;-( (((( через прокси пробовал вызвать совершенно другую функцию в которой сменяется цвет кнопки - не работает. _root.osnMenu["menuText" + i] - создаётся всё, переменная работает адекватно. пожалуйста, подскажите.
__________________
весь хлеб свежий |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Ctrl + Shift + Enter — посмотрите структуру флэшки, переменные, может поможет.
Ну и трэйсов побольше. Зачем вам обращение через _root, если вы все в классах пишите?
__________________
hauts.ru |
|
|||||
|
дебаг ни чего определённого не дал ;(
трейсы ... сделал ...onRelease(trace(имя_функции)) - выводит undefined .. понятия не имею почему не находит, ведь функция создана. Добавлено через 1 час 24 минуты И не понимаю почему при наведении функция срабатывает (не та, которая вызывается через proxy.create а , например, твинлайт)... прошу, пожалуйста подскажите, может я что-то не так делаю?( в классах пишу второй раз в жизни. до этого работал по большей части с кадрами. в as бывало только писал код, чтобы не наводить путаницу в кадрах.
__________________
весь хлеб свежий |
|
|||||
private function generateOsnMenu(def_lang) { _root.createEmptyMovieClip("osnMenu", _root.getNextHighestDepth()); _root.osnMenu._y = 18; _root.osnMenu._x = _root.rd_logo._x + _root.rd_logo._width + 130; var menupunkts:Number = _root.menuXML.firstChild.childNodes.length; for(i = 0; i < menupunkts; i++){ var osnmenu:MovieClip = _root.osnMenu.attachMovie("menuText", "menuText"+i, _root.osnMenu.getNextHighestDepth()); osnmenu.punktText.autoSize = true; osnmenu.punktText.htmlText = true; var title = _root.menuXML.firstChild.childNodes[i].attributes["title_ru"]; osnmenu.punktText.htmlText = title; var what_load = _root.menuXML.firstChild.childNodes[i].attributes["what_load"]; osnmenu._y = 0; if(i == 0){ osnmenu._x = 0; } else{ osnmenu._x = _root.osnMenu["menuText"+(i-1)]._x + _root.osnMenu["menuText"+(i-1)]._width + 40; } osnmenu.onRollOver = function() { TweenMax.to(this.punktText, 0.5, {tint:"0x000000", ease:Circ.easeOut}); } osnmenu.onRollOut = _root.osnMenu["menuText"+i].onReleaseOutside = function(){ TweenMax.to(this.punktText, 0.5, {tint:"0x838383", ease:Circ.easeOut}); } osnmenu.onRelease = Proxy.create(this, gotoRazdel); } } private function gotoRazdel():Void { trace("WHAT LOAD "); } }
__________________
весь хлеб свежий |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
А так?
private var menuRollOverState:Object; private var menuRollOutState:Object; private function generateOsnMenu(def_lang) { menuRollOverState = {tint:"0x000000", ease:Circ.easeOut, overwrite : true}; menuRollOutState = {tint:"0x838383", ease:Circ.easeOut, overwrite : true}; _root.createEmptyMovieClip("osnMenu",_root.getNextHighestDepth()); _root.osnMenu._y = 18; _root.osnMenu._x = _root.rd_logo._x+_root.rd_logo._width+130; var menupunkts:Number = _root.menuXML.firstChild.childNodes.length; for (i=0; i<menupunkts; i++) { var osnmenu:MovieClip = _root.osnMenu.attachMovie("menuText", "menuText"+i, _root.osnMenu.getNextHighestDepth()); osnmenu.punktText.autoSize = true; osnmenu.punktText.htmlText = true; var title = _root.menuXML.firstChild.childNodes[i].attributes["title_ru"]; osnmenu.punktText.htmlText = title; var what_load = _root.menuXML.firstChild.childNodes[i].attributes["what_load"]; osnmenu._y = 0; if (i == 0) { osnmenu._x = 0; } else { osnmenu._x = _root.osnMenu["menuText"+(i-1)]._x+_root.osnMenu["menuText"+(i-1)]._width+40; } osnmenu.onRollOver = function() { TweenMax.to(this.punktText,0.5,menuRollOverState); }; osnmenu.onRollOut = _root.osnMenu["menuText"+i].onReleaseOutside=function () { TweenMax.to(this.punktText,0.5,menuRollOutState); }; osnmenu.onRelease = Proxy.create(this, menuItemRelease); // osnmenu.onRelease = function(){trace(this)}; } } public function menuItemRelease():Void { trace("WHAT LOAD "); }
__________________
hauts.ru |
|
|||||
|
к большому сожалению - не работает ;(
если писать тоже самое, что у меня было в кадрах - оно будет работать. вопрос - почему блин в классе не работает. ;-( Добавлено через 14 минут Вобще очень странно зачем вы заменили что-то в твинмаксе? при наведении у меня всё отлично работало. А не работало в onRelease.
__________________
весь хлеб свежий |
|
|||||
|
;-( жаль, что ваши правки не привели к правильной работе кода... может можете сказать, что это может быть? просто я говорю - в кадрах этот код заработал бы 100%. в классе - не работает, причину не понимаю.
__________________
весь хлеб свежий |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|