![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2007
Сообщений: 9
|
народ, подскажите такую вещь... Я изменяю положение прямоугольника в клипе, делая это в цикле; нужна задержка, чтобы двигался прямоугольник плавно... проблема: не знаю, как называется функция, пробовал delay=...; - не пашет...
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
setTimeout, setInterval, onEnterFrame.
Делать в цикле что-то плавно.. ну-ну. |
|
|||||
|
Регистрация: May 2007
Сообщений: 9
|
есть другой способ?
|
|
|||||
|
Регистрация: May 2007
Сообщений: 9
|
пожалуй... справку почитал про функции - не разобрался... народ, киньте, кто сможет, пример. иначе сам, думаю, не разберусь...
|
|
|||||
|
Регистрация: Sep 2005
Адрес: SPb
Сообщений: 852
|
|
|
|||||
|
и на крайний случай есть класс Tween)))
|
|
|||||
|
Регистрация: May 2007
Сообщений: 9
|
Сделал так... не пашет, вообще двигать перестал... что не так делаю? подскажите...
Последний раз редактировалось iNils; 21.06.2007 в 15:29. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Esaul, для оформления своего кода, надо использовать теги [code][/code].
А ваш код содержит полный бред. onEnterFrame на каждый мувиклип может быть один единственный, а вы постоянно его назначаете, пока верно условие. Причем тут вообще while? Надо использовать if и внутри onEnterFrame |
|
|||||
|
Регистрация: May 2007
Сообщений: 9
|
Люди, посмотрите код, кому не лень... не могу понять, почему setInterval(main,100) не работает... Пока if-ы со stage в main не добавлял, "зацикливалось:" (60 раз нажать надо было и надпись "нажмите на кран А все время вылетала") там, где (stage==3)... Помогите... что делать?
var Ruchka_lev = Ruchka._y;
var Stolb_lev = Stolb_left._y;
var high;
//var stage=-1;
var stage=0;
Kran_C_used._visible=false;
Kran_A_used._visible=false;
Finish_process_btn.enabled=false;
Ruchka.enabled=false;
Kran_A.enabled=false;
Kran_C.enabled=false;
Start_process_btn.onRelease = function(){
function main(){
//stage++;
if(stage==0){
Start_process_btn.enabled=false;
Sovet_txt.htmlText="<B>Нажмите на кран A, т.е. откройте доступ\n к насосу.</B>";
Kran_A.enabled=true;
stage++;
}
if(stage==1){
Kran_A.onRelease = function(){
Kran_A_used._visible=true;
Kran_A._visible=false;
Kran_A.enabled=false;
Sovet_txt.htmlText="<B>Для того, чтобы накачать, нажмите на \nручку насоса.</B>";
Ruchka.enabled=true;
stage++;
}
}
Ruchka.onRelease = function(){
if(stage==2){
Sovet_txt.htmlText="<B>Подождите, когда разность столбиков в \nстанет равной 15-20см. Система автоматически \nпрекратит подачу воздуха.</B>";
Ruchka.enabled=false;
Kran_A._visible=true;
Kran_A_used._visible=false;
stage++;
}
if(stage==3){
high=Stolb_lev+60;
if(Stolb_right._y<=high){
Ruchka._y+= 5;
if(Stolb_right._y<=high){
Stolb_left._y-= 1;
Stolb_right._y+= 1;
}
if(Ruchka._y>=Ruchka_lev+100)
Ruchka._y=Ruchka_lev;
}
stage++;
}
if(stage==4){
Sovet_txt.htmlText="<B>Подождите установления \nтермодинамического равновесия.</B>";
stage++;
}
if(stage==5){
if(Stolb_right._y>=high-5-random(4)){
Stolb_left._y+= 1;
Stolb_right._y-= 1;
}
stage++;
}
if(stage==6){
Sovet_txt.htmlText="<B>Откройте кран C, открыв доступ к \nатмосфере.</B>";
Kran_C.enabled=true;
stage++;
}
}
Kran_C.onRelease = function(){
if(stage==7){
Kran_C.enabled=false;
Kran_C._visible=false;
Kran_C_used._visible=true;
stage++;
}
if(stage==8){
if(Stolb_right._y>=Stolb_lev){
Stolb_left._y+= 1;
Stolb_right._y-= 1;
}
stage++;
}
if(stage==9){
Kran_C._visible=true;
Kran_C_used._visible=false;
Sovet_txt.htmlText="<B>Дождитесь термодинамического равновесия.</B>";
stage++;
}
if(stage==10){
if(Stolb_right._y<=Stolb_lev+6+random(3)){
Stolb_left._y-=1;
Stolb_right._y+= 1;
}
stage++;
}
if(stage==11){
Sovet_txt.htmlText="<B>Нажмите кнопку End для завершения\n опыта.</B>";
Finish_process_btn.enabled=true;
stage++;
}
}
Finish_process_btn.onRelease = function(){
if(stage==12){
if(Stolb_left._y!=Stolb_lev){
Stolb_left._y+= 1;
Stolb_right._y-= 1;
}
stage++;
}
if(stage==13){
Start_process_btn.enabled=true;
Finish_process_btn.enabled=false;
Sovet_txt.htmlText="<B>Нажмите кнопку Start, чтобы начать работу.</B>";
// stage=-1;
}
}
}
setInterval(main,100);
}
Так вот, функция начинает "вроде" работать: только на объект Ruchka приходится кликать 60 раз, чтобы Stolb_right(/left) достиг нужного уровня. После этого "сказка" прекращается... Последний раз редактировалось Esaul; 23.06.2007 в 14:03. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|