PDA

Просмотр полной версии : как сделать кнопку пауза??? при конвертации формы


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, отредактируйте свой пост и оформите код тегами .

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&&()

??? я просто разобраться хочу, чтоб самой научиться и больше глупых вопросов не задавть

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
спасибо, вот он

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