![]() |
|
||||||||||
|
|
|
|||||
|
В эвент onMotionFinished необходимо передать x,y,grid
То как у меня щас записанно по сути не передача, и я это понимаю, но как передать тогда? path[k]['z1'] = new Tween(grid[x][y]['mc'],"_alpha",None.easeInOut,100,0,1,true) path[k]['z1'].onMotionFinished = function(x,y,grid) { removeMovieClip(grid[x][y]['mc']) } } ![]() |
|
|||||
|
Модрон-ветеринар
|
В вашем случае можно обойтись без параметров, вам же только ссылка на объект нужна, над которым надругательство Tween делается, чтобы удалить его?
path[k]['z1'] = new Tween(grid[x][y]['mc'], "_alpha", None.easeInOut, 100, 0, 1, true); path[k]['z1'].onMotionFinished = function() { this.obj.removeMovieClip(); }; Наличие свойства obj установил как-то опытным путем, разбирая Tween. Это ссылка на объект, над которым происходит Tween, внутри самого экземпляра Tween. А у обработчика onMotionFinished никаких аргументов нет, судя по хелпу. PS. Переходите на TweenLite от Greensock, там, если что, есть удобные способы передачи параметров в функции-обработчики событий Tween'ов. Да и вообще он лучше. PPS. Что-то у вас в приведенном кусочке со скобками не то, кстати.
__________________
Идите первым! Последний раз редактировалось mooncar; 19.05.2011 в 03:53. |
|
|||||
|
а вообще как передать переменные вот в таком виде записи функции
ведь это описание и вызов функции одновременно. а xyz - только в описательной части. Я понимаю что внутренности функции "mc.OnLoad" видят a,b,c, но у меня немного другой случай и мне нужно в "mc.OnLoad" действительно передать a,b,c |
|
|||||
|
onLoad - это обработчик события. Когда он висит на слушателе, в общем случае его данные присутствуют в this.
Сделайте trace( this ) |
|
|||||
for (k in path) { x=path[k]['x'] y=path[k]['y'] path[k]['z1'] = new Tween(grid[x][y]['mc'],"_alpha",None.easeInOut,100,0,1,true) path[k]['z1'].onMotionFinished = function() { trace (x+" - "+y) trace (grid[x][y]['mc']) removeMovieClip(grid[x][y]['mc']) } } 9 - 10 undefined 9 - 10 undefined 9 - 10 undefined 9 - 10 undefined 9 - 10 undefined 9 - 10 undefined 9 - 10 undefined из массива path, а нужно все... |
|
|||||
|
Модрон-ветеринар
|
Еще раз говорю, в onMotionFinished доступна ссылка на сам объет, над которым делается Tween. Передавайте любые данные внутри этого обработчика через этот сам объект с помощью доступной на него ссылки this.obj внутри onMotionFinished, как я указал в начале:
path[k]['z1'] = new Tween(grid[x][y]['mc'], "_alpha", None.easeInOut, 100, 0, 1, true); grid[x][y]['mc'].someVar = someVar; path[k]['z1'].onMotionFinished = function() { trace(this.obj.someVar) }; this.obj внутри onMotionFinished указывает на объект, над которым производится Tween. У этого обработчика нет никаких аргументов, в хелпе же написан синтаксис. Разве у вас не заработал мой пример из поста №2? Из любопытства хотя бы проверьте, если вас что-то в нем смутило. Вы не можете для анонимной функции-обработчика какого-то события из стандартных задать произвольные аргументы, потому что их не предусмотрел Adobe при разработке этого события и его обработчика.
__________________
Идите первым! Последний раз редактировалось mooncar; 20.05.2011 в 00:09. |
|
|||||
|
path[k] - по сути объект.
Если вы в нем хотите создать свойство, с именем ЗэтОдин, то так и пишите вообще-то: path[k].z1 = и так далее. Да и вообще, что вы там за бином Ньютона создаетет? Вот очередной пример ![]() |
|
|||||
|
Кстати я тоже мучался с этим [Tween] и нашел в нем этот описанный тобой obj Тупо перечислсив свойства. И далее методом тыка
![]() Вообще крайне гадостная эта либа. |
|
|||||
|
Модрон-ветеринар
|
Дак я уже говорил тут про TweenLite, там что хочешь передавай через onCompleteParam в функцию onComplete, которая выполняется по завершению твина.
__________________
Идите первым! |
|
|||||
|
Да я знаю, я же не к тебе обращаюсь, а к автору топика
![]() Я знаю, что ты знаешь, что я знаю что есть гринсок )) |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|