![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Oct 2009
Сообщений: 14
|
Всем здрасьте. Есть переменная А, значение которой меняется каждый кадр от 0 до 1 и обратно, в цикле пока нажата определённая клавиша. Когда клавиша отпускается значение переменной А присваивается другой переменной В, затем значение А обнуляется, но вместе с ней обнуляется и значение переменной В
Вопрос, КАК сделать так, чтобы значение В не обнулялось, т.е. разорвать связь между переменными А и В, сохранив значение В неизменным? Мне в итоге надо, чтобы А сбросило своё значение в 0, а значение В использовать дальше. |
|
|||||
|
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
А хорошо было бы ваш код увидеть)
__________________
Flex+AS3 good) |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 14
|
Вот пожалуйста:
var impulse:Number = 0;// Это допустим "В" var space:Boolean = false; var flag:Boolean = true; power.stLine.scaleX = 0; // Это "А" stage.addEventListener(KeyboardEvent.KEY_DOWN,KEY_DOWN); stage.addEventListener(KeyboardEvent.KEY_UP,KEY_UP); addEventListener(Event.ENTER_FRAME,ENTER_FRAME); function KEY_DOWN(e:KeyboardEvent):void // Пока, что отслеживаем любую нажатую... { space = true; } function KEY_UP(e:KeyboardEvent):void { space = false; } function ENTER_FRAME(e:Event):void // Собственно цикл Здесь меняестя масштаб //полоски силы power.stLine.scaleX от 0 до 1 и обратно пока //нажата клавиша { if(space) { if(flag) //Здесь гоняем масштаб по Х туда-обратно { power.stLine.scaleX +=.1; if(power.stLine.scaleX > 1)flag = false; } if(!flag) { power.stLine.scaleX -=.1; if(power.stLine.scaleX < .1)flag = true; } } if(!space) { impulse = power.stLine.scaleX; // Здесь бы мне взять значение power.stLine.scaleX = 0; // А здесь значение impulse так же обнуляется flag = true; trace(impulse); } } |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 93
|
наверно потомучто ето
выполняется несколько раз |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 14
|
Отлично! Вынес взятие значения за пределы цикла и теперь impulse не обнуляется! Работает как надо.
veisss спасибо огромное за наводку. var impulse:Number = 0; var space:Boolean = false; var flag:Boolean = true; power.stLine.scaleX = 0; stage.addEventListener(KeyboardEvent.KEY_DOWN,KEY_DOWN); stage.addEventListener(KeyboardEvent.KEY_UP,KEY_UP); addEventListener(Event.ENTER_FRAME,ENTER_FRAME); function KEY_DOWN(e:KeyboardEvent):void { space = true; } function KEY_UP(e:KeyboardEvent):void { impulse = power.stLine.scaleX; power.stLine.scaleX = 0; space = false; } function ENTER_FRAME(e:Event):void { if(space) { if(flag) { power.stLine.scaleX +=.1; if(power.stLine.scaleX > 1)flag = false; } if(!flag) { power.stLine.scaleX -=.1; if(power.stLine.scaleX < .1)flag = true; } } if(!space) { flag = true; } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|