Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как сделать кнопку пауза??? при конвертации формы (http://www.flasher.ru/forum/showthread.php?t=120102)

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, но это вообще сложно для меня...

etc 12.01.2009 12:38

Fenix2009, отредактируйте свой пост и оформите код тегами [code][/code].

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

если я правильно понял то вам нужно проверять пимерно так
Код AS1/AS2:

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

вот так должно работать
Код AS1/AS2:

        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&&()
??? я просто разобраться хочу, чтоб самой научиться и больше глупых вопросов не задавть

iNils 12.01.2009 18:18

Инвертирует значение флага.

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

Вложений: 1
спасибо, вот он

lexa2000lexa 13.01.2009 12:44

Вложений: 1
Если я правильно понял ход ваших мыслей, то вот как можно это было сделать.

Fenix2009 13.01.2009 12:52

да, спасибо, все правильно, спасибо за помощь, попытаюсь во всем теперь разобраться, может, lexa2000lexa, вы какую-нибуть книжку или ресурс посоветуете, чтоб побыстрее во всем разобраться

а то я как баран на новые ворота:)

Добавлено через 12 минут
только в коде, если нажать кнопку перемотки назад, то кнопка "Play" потом не работает

lexa2000lexa 13.01.2009 15:06

тогда попробуйте вот так
Код AS1/AS2:

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;
}

либо вот так
Код AS1/AS2:

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;
}



Часовой пояс GMT +4, время: 11:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.