Просмотр полной версии : как сделать кнопку пауза??? при конвертации формы
Fenix2009
12.01.2009, 12:23
есть кнопки стоп
on (release) {
if (_currentframe++) {
stop();
} else {
play();
}
}
играть
on (release) {
play();
}
и т.д.
как сделать кнопку "пауза"? чтоб проверяло идет ли конвертация, если да, то остановливало, если нет, то воспроизводило с места, где остановлено???
on (release) {
if (????????????) {
stop();
} else {
play();
}
}
помогите, просто не хватает знаний, только начала учить Action Script и не могу нигде найти в учебниках такой пример, вообще конечно лучше всего было бы сделать кнопку Play которая при нажатии проигрывает и становится кнопкой Пауза, потом останавливает и превращается в кнопку Play, но это вообще сложно для меня...
Fenix2009, отредактируйте свой пост и оформите код тегами .
Fenix2009
12.01.2009, 13:58
а по существу, помогите, пожалуйста
lexa2000lexa
12.01.2009, 14:13
что вы имеете ввиду под словами "конвертации формы "?
Fenix2009
12.01.2009, 14:21
ну у меня объекты не клипы, а рисунки и значение tween - shape
lexa2000lexa
12.01.2009, 14:56
если я правильно понял то вам нужно проверять пимерно так
if(_root._currentframe!=_root._totalframes){
stop();
}
else{
play();
}{
Fenix2009
12.01.2009, 15:02
оно ругается...
Добавлено через 37 секунд
**Error** Scene=Scene 1, layer=Layer 2, frame=1:Line 1: Statement must appear within on handler
if (_currentframe!=_totalframes){
Total ActionScript Errors: 1 Reported Errors: 1
lexa2000lexa
12.01.2009, 15:05
а зачем вы поубирали _rootы?
Fenix2009
12.01.2009, 15:33
это не я это такое сообщение об ошибке выдается, в коде _rootы есть
lexa2000lexa
12.01.2009, 15:35
исходник покажите
Fenix2009
12.01.2009, 15:36
не все-нормально, это я ошиблась, оно останавливает, но остановленное не запускает...
получается оно начинает, проигрывать только тогда, если выбран последний кадр...т.е. _root._currentframe==_root._totalframes а надо чтоб он начинал проигрывать с того места, где отсановилился
Добавлено через 45 минут
все работает, он останавливает, но при повторном нажатии не проигывает, начинает проигрывать только если стоит на последнем кадре, а не с того кадра, на котором остановился...
lexa2000lexa
12.01.2009, 16:43
вот так должно работать if(!this.flag&&(_root._currentframe!=_root._totalframes)){
stop();
}
else{
play();
}
this.flag = !this.flag;
Fenix2009
12.01.2009, 18:15
спасибо все работает! а что значит в коде this.flag = !this.flag
и !this.flag&&()
??? я просто разобраться хочу, чтоб самой научиться и больше глупых вопросов не задавть
Инвертирует значение флага.
Fenix2009
13.01.2009, 11:57
я все совершенствую и опять проблемы
я сделала - кнопку-клип (первое состояние Playmode, второе Pausemode) и такой код, чтоб кнопка проигрывала и превращалась в паузу, останавливала и превращалась в кнопку проигрывания, но... код не работает
с моими глубокими познаниями AS отладить не могу, могу выложить весь исходник, но не знаю как
playMov.onClipEvent (mouseDown) {
_root.stop();
playMov.onClipEvent = function() {
if (state == "pausemode") {
state = "playmode";
_root.play ();
playMov.gotoAndStop(2);
} else if (state == "playmode") {
state = "pausemode";
_root.stop();
playMov.gotoAndStop(1);
}
}
playMov.gotoAndStop(1);
state = "pausemode";}
alexcon314
13.01.2009, 12:15
могу выложить весь исходник, но не знаю как
Расширенный режим (при создании/редактировании сообщения)-Под полем ввода текста сообщения кнопка "Управление вложениями". Откроется новое окно, в нем выберите файл, который хотите показать на форуме ("загрузить с вашего компьютера") и нажмите "загрузить". Обратите внимание на максимальный размер для разных типов файлов.
Запакуйте .fla в архив (.zip или .rar) преред загрузкой.
Fenix2009
13.01.2009, 12:27
спасибо, вот он
lexa2000lexa
13.01.2009, 12:44
Если я правильно понял ход ваших мыслей, то вот как можно это было сделать.
Fenix2009
13.01.2009, 12:52
да, спасибо, все правильно, спасибо за помощь, попытаюсь во всем теперь разобраться, может, lexa2000lexa, вы какую-нибуть книжку или ресурс посоветуете, чтоб побыстрее во всем разобраться
а то я как баран на новые ворота:)
Добавлено через 12 минут
только в коде, если нажать кнопку перемотки назад, то кнопка "Play" потом не работает
lexa2000lexa
13.01.2009, 15:06
тогда попробуйте вот такstop();
playmov.onPress = function(){
if(!this.flag){
if(_root._currentframe!=_root._totalframes){
play();
}
else{
gotoAndPlay(2);
}
}
else{
stop();
}
this.flag = !this.flag;
this.gotoAndStop(3-this._currentframe);
}
stopmov.onPress = function(){
gotoAndStop('begin');
playmov.gotoAndStop(1);
playmov.flag = !playmov.flag;
}
prevmov.onPress = function(){
gotoAndPlay('begin');
playmov.gotoAndStop(1);
playmov.flag = !playmov.flag;
}
nextmov.onPress = function(){
gotoAndStop('end');
playmov.gotoAndStop(1);
playmov.flag = !playmov.flag;
}
либо вот такstop();
playmov.onPress = function(){
if(!this.flag){
if(_root._currentframe!=_root._totalframes){
play();
}
else{
gotoAndPlay(2);
}
}
else{
stop();
}
this.flag = !this.flag;
this.gotoAndStop(3-this._currentframe);
}
stopmov.onPress = function(){
play_mov("begin")
}
prevmov.onPress = function(){
play_mov("begin")
}
nextmov.onPress = function(){
play_mov("end")
}
function play_mov(par:String){
gotoAndStop(par);
playmov.gotoAndStop(1);
playmov.flag = !playmov.flag;
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.