![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Приветствую. После столь долгого отсутствия я вернулся, и причем как ни странно в середине сессии
![]() Есть интересные вопросы. Допустим мой типичный код для показа текста "эффектом печатной машинки". var xmlvar;
xmlvar = xmlvar.firstChild.firstChild.nextSibling;
var i:Number = 0;
var tex:String = "";
var mel:String = "";
var up:Boolean = false;
var down:Boolean = false;
pole.html = true;
while (xmlvar.firstChild.nodeValue != undefined) {
tex+="<b><font color='#F7FFD5'>Added:</font></b>"+xmlvar.attributes.name+"\n";
tex+="<b><font color='#F7FFD5'>Date:</font></b>"+xmlvar.attributes.date+"\n";
tex+=xmlvar.firstChild.nodeValue;
tex+="<hr>";
xmlvar = xmlvar.nextSibling.nextSibling;
}
this.onEnterFrame = function () {
if (i<tex.length) {
pole.htmlText = tex.substring(0, i)+"_";
i+=3;
}else{
pole.htmlText = tex;
}
}
Несколько таки onEnterFrame и ролик начинает тормозить. Возможно ли как-нибудь сломать именно этот if, не удаляя и не останавливая данного onEnterFrame? Просто кроме печатания текста в этом перехватчике еще несколько событий, которые как раз и должны постоянно работать. Каким образом удалить все лишнее? Я знаю команду delete this.onEnterFrame - НО тогда нельзя будет этот onEnterFrame восстановить для этого кадра\мува. What's need to be done? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Minastis, а что мешает повесить на onEnterFrame иную функцию?
|
|
|||||
|
iNils Просто у меня там перехватчик событий нажатия двух кнопок, для скроллинга. Вот полный код кадра. Разве setinterval может сделать что-то вроде (где перехв. события кнопок):
var xmlvar;
xmlvar = xmlvar.firstChild.firstChild.nextSibling;
var i:Number = 0;
var tex:String = "";
var mel:String = "";
var up:Boolean = false;
var down:Boolean = false;
pole.html = true;
while (xmlvar.firstChild.nodeValue != undefined) {
tex+="<b><font color='#F7FFD5'>Added:</font></b>"+xmlvar.attributes.name+"\n";
tex+="<b><font color='#F7FFD5'>Date:</font></b>"+xmlvar.attributes.date+"\n";
tex+=xmlvar.firstChild.nodeValue;
tex+="<hr>";
xmlvar = xmlvar.nextSibling.nextSibling;
}
this.onEnterFrame = function () {
if (up==true) {
pole.scroll -= 1;
}
if (down==true) {
pole.scroll += 1;
}
if (i<tex.length) {
pole.htmlText = tex.substring(0, i)+"_";
i+=3;
}else{
pole.htmlText = tex;
break;
}
}
b1.onPress = function () {
up = true;
}
b1.onRelease = function () {
up = false;
}
b2.onPress = function () {
down = true;
}
b2.onRelease = function () {
down = false;
}
b1.useHandCursor = false;
b2.useHandCursor = false;
stop();
__etc если я не ошибаюсь ты имеешь ввиду или while или еще что? А потом убрать break-om? |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
В нужный момент можно сказать
или а break там вообще не при делах, он за другое отвечает. upd: про delete вы знаете, прочитал. Можно сделать так: Последний раз редактировалось Kikasso; 19.01.2007 в 13:03. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Спасибо, вы меня просвятили своими знаниями. Просто после долгого воздержания работы с Flash-em у меня маленькое непонимание появилось.
|
|
|||||
|
Я снова пришел за советом, сенсеи. К сожелению, почему-то не получилось. Получилось, но отчасти =(
У меня текст печатается а после кнопки скролл делать отказываются... =( Подскажите пожалуйста в чем проблема. var xmlvar;
xmlvar = xmlvar.firstChild.firstChild.nextSibling;
var i:Number = 0;
var tex:String = "";
var mel:String = "";
var up:Boolean = false;
var down:Boolean = false;
pole.html = true;
while (xmlvar.firstChild.nodeValue != undefined) {
tex += "<b><font color='#F7FFD5'>Added:</font></b>"+xmlvar.attributes.name+"\n";
tex += "<b><font color='#F7FFD5'>Date:</font></b>"+xmlvar.attributes.date+"\n";
tex += xmlvar.firstChild.nodeValue;
tex += "<hr>";
xmlvar = xmlvar.nextSibling.nextSibling;
}
loadtext = function () {
if (up == true) {
pole.scroll -= 1;
}
if (down == true) {
pole.scroll += 1;
}
if (i<tex.length) {
pole.htmlText = tex.substring(0, i)+"_";
i += 3;
} else {
this.onEnterFrame = but;
pole.htmlText = tex;
}
};
but = function () {
b1.onPress = function() {
up = true;
};
b1.onRelease = function() {
up = false;
};
b2.onPress = function() {
down = true;
};
b2.onRelease = function() {
down = false;
};
};
this.onEnterFrame = loadtext;
b1.useHandCursor = false;
b2.useHandCursor = false;
stop();
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
MINASTIS, первые две строки твоего кода что, по-твоему, должны сделать?
То, что ты написал var xmlvar; объявляет переменную со значением undefined, далее ты хочешь xmlvar = undefined.firstChild.firstChild.nextSibling, естесственно опять получаешь undefined. Т.е. далее твой while уже не работает. Как у тебя там чего-то печатается, мне непонятно. |
|
|||||
|
__etc эта странная система работает успешно уже несколько месяцев и на нескольких моих сайтах =).
А, понял что ты имеешь ввиду. У меня на предыдущем кадре стоит: var xmlvar = new XML();
xmlvar.load("news.dat");
xmlvar.onLoad = function (ok:Boolean) {
if (ok) {
play();
}
}
stop();
У меня почему-то не работает. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:18. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|