![]() |
|
||||||||||
|
|
|
|||||
|
Пишу такой код в первом кадре на тайм лайне
внизу я поставил функцию мол типа нажимаешь на мувик и все понеслось... а все понеслось сразу как загрузилось... function StartClip() { trace("Start"); _root.hideTextM(); var finishX = 100; // Координата по Х в которую передвигаем меню var finishY = 150; // Координата по Н в которую передвигаем меню var dx = 10; // Скорость пердвижения по Х var dy = dx/((_root.mainMenu._x-finishX)/(_root.mainMenu._y-finishY)); _root.ratation = true; _root.intervelID = setInterval(function () { _root.travelMainMenu(-dx, -dy, finishX, finishY); }, 10); } function showTextM() { hideTextMB = false; } function hideTextM() { //скрытие текста в меню hideTextMB = true; this.mainMenu.Mtext.t1._alpha = 0; this.mainMenu.Mtext.t2._alpha = 0; this.mainMenu.Mtext.t3._alpha = 0; } function travelMainMenu(dx, dy, finishX, finishY) { //Перемещение твертушки-меню this.mainMenu._x += dx; this.mainMenu._y += dy; if (this.mainMenu._x-finishX<5 || this.mainMenu._y-finishY<5) { this.mainMenu._x = finishX; this.mainMenu._y = finishY; _root.ratation = false; showTextM(); trace("Stop"); trace("(x,y)("+this.mainMenu._x+","+this.mainMenu._y+")"); clearInterval(_root.intervelID); } } // <<<<<<<<<<< this.mainMenu.inMainM.CentralBut1.onRelease = StartClip();//<<<<<<<<<<<< // <<<<<<<<<<< // вот тут почемуто запускается функция сама собой!!! // Вопрос почему так происходит??? если ниче не нажимается |
|
|||||
|
Ветеран форума
|
Может всётаки так
this.mainMenu.inMainM.CentralBut1.onRelease = function(){StartClip()};
__________________
BestMasterиZация |
|
|||||
|
this.mainMenu.inMainM.CentralBut1.onRelease = function(){StartClip()};
да так получется, я уже нашел правильный ответ. еще вот так работает this.mainMenu.inMainM.CentralBut1.onRelease = StartClip; Но тогда возникает еще вопрос. Когда надо ставить "()", а когда нет при работе с функциями(процедурами) ??? я вооще запутался в хелпе вроде пишут что надо писать "()" на практике у мя все без них заработало... ниче не понимаю =\ а вообще как правильно, точнее если хочешь добится хорошего стия програмирования, писать function(){StartClip()}; или StartClip;??? Последний раз редактировалось Webas; 16.11.2005 в 23:03. |
|
|||||
|
4AM Games
|
функция это тоже объект(в АС), но когда ты ставишь скобки(), функция начинает выполняться, без скобок, ты просто передаешь ссылку на функцию.
попробуй сделать так в первом случае ты передал переменной "а" результат действия функции(так как ты ее вызвал) и трейситься у тебя "hello", во втором случае ты передал переменной b ссылку на функцию, и трейситься у тебя [type Function] теперь ты можешь написать так и протреситься у тебя "hello".
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Огромное спасибо! все доступно обьяснил, я в свою очередь все понял=) чему и рад! THX!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|