![]() |
Проблема с кодом
Господа, я к вам опять в недобрый час. Проблема в следующем. На главной временной линейке есть две кнопки. В первый кадр вбивается код:
Код:
light2._alpha = 0;//Начальное состояние первой кнопкиПродолжаем вбивать код для второй кнопки. Теперь все выглядит так: Код:
light2._alpha = 0;//Начальное состояние первой кнопки |
проблема в том, что в onRollOver /onRollOut ты назначаешь/меняешь onEnterFrame одного и того же объекта (их родителя), стало быть определенный по onRollOut одной кнопки, тут же переопределяется в onRollOver другой..
поставь везде this.onEnterFrame=.. (тогда это будут onEnterFrame самих кнопок и переопределяться друг другом уже не будут) зы: delete onEnterFrame (да еще в таком количестве) ничего не выполняют в твоем коде.. |
Код:
var Go:Number = 3;//скорость альфыкнопки называть вот так mc1 , mc2 и т.д. |
в "onEnterFrame" какого мувика ты записываешь функцию?
в _root -- поэтому она у тебя перезаписывается если ты наводишь на дугую кнопку. пиши в функциях, который записываешь в onRollOut и onRollOver -- this.onEnterFrame. Если cсылаешься не из функции пиши lightX.onEnterFrame |
Ok, спасиб всем.:drinks: Сейчас исправимся. Вот что еще хотел спросить…смотрю я на свой код и думаю, *Может его оптимизировать как-нибудь? Что то уж больно громоздкий для такого примитивного действа.:quiet: * Как считаете?
Вот код на одну (первую) кнопку – она вообще работать отказалась.:quiet: Код:
light2._alpha = 0; |
Для оформления своего кода, надо использовать теги [code][/code].
Название темы не раскрывает сути вопроса. У вас уже второй плюс. Читайте правила. |
Код:
stop(); |
Цитата:
|
Надо «вешать» в кадр, а не на кнопку.
|
Цитата:
есть и другие варианты: Код:
import mx.transitions.*Код:
import mx.transitions.* |
silin, а если мышкой быстро поводить, что будет? Перетягивание каната?))
Твин один, ссылку сохранить и Tween.continueTo().. |
не, не будет перетягивания каната, доказывать/раскладывать в лом, проще попробовать..
хотя один косяк (вернее нюанс) есть: если уводим мышь недоехав до конечной альфы, запустится твин с текущей, но такой же по длительности, т.е. скорость изменения альфы будет меньше..если это критично, тогда канеш надо смотреть что ты предлагаешь.. |
Цитата:
Код:
import mx.transitions.* |
дада, согласен: полный бардак получается, т.е. по хорошему надо либо работать с одним твином, как ты и говорил, либо озаботиться убить работающий перед тем как зачать новый..
зы: в оправдание, в простых задачках, типа этой, нормально работает и так (в смысле память не замусоривается, процессор тоже не перенапрягается) зы: к слову: я предлагал (и пользую сам) не хранить ссылку на твин |
вот примерно так:
Есди твин есть, используем его, если нет, создаем новый, по завершении работы он самоудалится. Код:
import mx.transitions.*pps - в классе, конечно, такое удобнее. А в кадрах и без твинов можно обойтись.. |
я боюсь впасть в какую-нибудь никому не нужную дискуссию (вроде бы все ясно), но какая такая "this._alpha" в твине, ему же передается свойство в стринге, а объект (this) в первом параметре или я чего-то не понял, о чем речь?
зы: о том что за твинами надо следить (как бы не оставить работающим уже не нужный) знаю не по наслышке (наступал на эти грабли не однократно), полностью согласен - это надо знать здесь привел такой пример для простоты, подумав, соглашусь: хоть и работает, но привыкать к таким решениям не стоит.. |
Я выделил какая. У нас код в руте, и твин брал начальным значением альфу у рута (100%).
Насчет никому не нужной дискуссии.. Вот я подсмотрел хороший приемчик с передачей null в качестве функции изинга, в класс слазил лишний раз, кое-что придумал. Так что спасибо )) |
ага, теперь понял, поправил..
офТоп: подводит привычка писать в классах (там же все "this"), дошло до того, что мне самые обычные вещи удобнее написать в классе, чем думать об областях видимости и кому-что адресовано (это когда пишешь на линейке), при том, что я довольно долго не мог вообще врубиться зачем этому милому AS классовая сущность.. извиняюсь за лирику, но это я для сумлевающихся: надо присмотреться, пощупать классы.., тем более, что другого не дано: в AS3 код в кадрах вообще лишен какого-либо смысла.. |
Перенес обсуждение apply в отдельную тему
|
| Часовой пояс GMT +4, время: 16:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.