![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2006
Адрес: arktisklandet
Сообщений: 13
|
Здравствуйте! Может, просто я глупая и не понимаю элементарных вещей.
Интересная проблема для меня: вот, пишу в руте для мувиклипов TOR: TOR.onPress = function() {
contt = "";
conth.unloadMovie();
contv.unloadMovie();
if (this.num<10) {
III = "00";
} else {
III = "0";
}
if (this.pos == "h") {
v.gotoAndStop(1);
h.gotoAndPlay(2);
conth._alpha = 0;
conth.loadMovie("FullSize/"+III+this.num+".jpg", 1);
this.onEnterFrame = function() {
if (conth._alpha<100 && ja == true) {
conth._alpha += 4;
trace(conth._alpha);
}
trace(ja);
};
} else {
h.gotoAndStop(1);
v.gotoAndPlay(2);
contv._alpha = 0;
contv.loadMovie("FullSize/"+III+this.num+".jpg", 1);
this.onEnterFrame = function() {
if (contv._alpha<100 && ja == true) {
contv._alpha += 4;
trace(conth._alpha);
}
trace(ja);
};
}
};
Цитата:
Итак, вот вопросы: почему величина прироста cont._alpha += 4; не целое число, как я прошу, а какая-то близкая 3.90625? Почему, если даже проигрался мувиклип с подложкой (там это видно), иногда не передается в рут значение ja = true? Почему cont._alpha иногда не доходит до 100, и застревает где-то на полпути? Флеш — ужасно загадочная и странная штука 8). |
|
|||||
|
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
да, глюки бывают, но всеже ничего загадочного, как много раз тут меня убеждали это не во флэше дело а в ручках ))) с альфа сто раз обсуждалось это так надо не пугайтесь ))) во вторых нужно убивать onEnterFrame, из за этого могут быть глюки полюбе))) а в остальном , это ваша программа, и трудно сказать что она там должна делать а что не должна )))
|
|
|||||
|
loading 50%
|
Может я что не догоняю, но вам не кажеться странным, в теле функции onPress на if объявлять еще одну функцию onEnterFrame, по моему ее там можно на худой конец вызвать, а объявлять то каждый раз при выполнении if зачем?
|
|
|||||
|
Регистрация: Nov 2006
Адрес: arktisklandet
Сообщений: 13
|
Вот вот! Я понимаю все коварство onEnterFrame, и просила подсказать альтернативу, так как знаний явно недостаточно. Вот и пост. Но пока пытаюсь вообще избавиться от onEnterFrame. И может ли он влиять на то, что значение ja не передается в рут?
|
|
|||||
|
loading 50%
|
Я бы предложил примерно такой сценарий:
На onEnterFrame служебная переменная принимает значение true. Далее, в анимации в удобоваримом месте - когда анимация подложки завершена, идет проверка этого факта, контейнер приобретает _alpha=0 и начинается загрузка контекста. При выполнении условия загрузка завершена, через setInterval меняется альфа контейнера. |
|
|||||
|
Всё верно, альфа канал имеет 256 уровней ( как и любой другой канал RGB записываемый одним битом). Но для удобства альфа канал был выведен в отделное свойство, которое позволяет нам работать с процентами. На самом деле ставя значение _alpha = 50% мы имеем дело с альфа каналом равным (100-50)/100*256 = 128.
Так же переводится любое число , которое мы присваеваем альфа каналу. Реальный "шаг" альфы есть 100/256 = 0,390625. И если мы присваеваем альфе число не кратное 0,390625, то альфа принимает значение наиболее близкого кратного числа. К примеру 40 не кратно 0,390625. Но наиболее близкое число 39,84375. Поэтому код выведет 39.84375. К тому же проценты нужны для нахождения значения альфа канала во вложенных мувиках. Ну когда сам клип имеет альфу 50%, и ещё его дочерний клип имеет 50%, тогда суммарная альфа дочернего клипа будет 25% |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
Поэтому лучше делать:
mc.my_alpha += 4; mc._alpha = mc.my_alpha; Про "коварство onEnterFrame" - позабавило Ну, можно делать по окончании this.onEnterFrame = null;
__________________
Верить никому нельзя. Мне - можно. :) |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|