PDA

Просмотр полной версии : Как пройтись по мулютику в обратном направлении?


WarkaMEN
04.06.2002, 18:46
Привет!

Нарисовал маленький баннер для фирмы в виде обучения (на халяву), так вот... баннер лучше пускать не заново, а наоборот. Дошли кадры до конца и также бы идти назад. Как можно написать код, чтобы организовать это?


З.Ы. Какие книги посоветуете для изучения ActionScript?

netstuff
04.06.2002, 19:47
если хочешь программно:

onClipEvent(enterFrame) {
myMovie._currentframe = _currentframe - 1;
}

Nox Noctis
04.06.2002, 20:03
2netstuff
ошибаетесь, уважаемый :)
свойство _currentframe – Read-Only (см. ActionScript Dictionary)

все проще:
можно в нужный момент запустить клип с функцией
onClipEvent (enterFrame) {
_parent.prevFrame ();
}


зы: и вообще этот вопрос ну стооооолько раз уже задавали...

DeliMIter
04.06.2002, 21:06
// property _frame is r/w upgrade for _currentframe
// note: addressing _frame will stop your playback
MovieClip.prototype.addProperty("_frame",
function() {
return _currentframe;
},
function(Value) {
if (Value == _currentframe) {
stop();
} else {
gotoAndStop(Value);
}
});

netstuff
05.06.2002, 10:16
ну тогда немного по другому:

onClipEvent(enterFrame) {
_parent.gotoAndStop(_parent._currentframe - 1);
}

можно зато регулировать скорость обратной перемотки :)

WarkaMEN
05.06.2002, 19:10
А я все равно не понял :(

Объясните понятнее, я только сейчас начал пытаться разбираться с кодом, раньше frame-by-frame рисовал...

Книги не предлагать, нет у меня возможности купить ее...

Все коды пытался воткнуть в кадр... ничего не работает, выдает ошибки.

DeliMIter
05.06.2002, 21:42
2WarkaMEN

Ты бы нам эти ошибки процитировал, что ли?

2netstuff

Добавь к моему коду

function onEnterFrame() {
_frame--;
}

Изящно? Да. Понятно? Безусловно. Можно еще проще и красивее? Конечно!!! :))))))

Nox Noctis
05.06.2002, 21:51
2DeliMIter
ты зря, имхо, человека сразу геттерами-сеттерами пугаешь... :)

DeliMIter
05.06.2002, 22:14
Салют, Nox Noctis!

Если человек имел смелость выйти на форум и задать вопрос, он должен быть тверд и не бояться там всяких геттеров-сеттеров, ибо могут ему предложить решения и пострашнее, и с благодарностью он должен взирать на код и умиления слезы должны катиться по щекам его, от одного сознания божественного озарения, посетившего его! Он должен выбить "onClipEvent" над своей кроватью от злых духов, смущающих слабый разум, и костяную табличку с выжженой надписью "_root" засунуть себе под подушку, дабы будучи даже ночию темной разбуженным вспомнить, откуда начинается адресация всея мувиеклипа!

Эээ.. Я отвлекся...

WarkaMEN
06.06.2002, 17:56
2Deli:

Я в шоке! Укатался от смеха... Тебе не код писать надо, а книги... (Мне такой же когда-то совет дали, но по другой теме).

Остальным:
Скорее всего это я делаю что-то не так.
У меня Dreamweaver Flash MX.
Нарисовал муви на 70 кадров на 20 и 50 смена позиций... Все просто. 4е layer`а. Щелкнул на первом в последнем кадре.
вставил, допустим этот код в эксперт моде:
-----
// property _frame is r/w upgrade for _currentframe
// note: addressing _frame will stop your playback
MovieClip.prototype.addProperty("_frame",
function() {
return _currentframe;
},
function(Value) {
if (Value == _currentframe) {
stop();
} else {
gotoAndStop(Value);
}
});
------

Вообще ничего не происходит!

Другой код:
------
onClipEvent(enterFrame) {
_parent.gotoAndStop(_parent._currentframe - 1);
}
-------

Появляет Output окошко с написанным в нем:
-------
Scene=Scene 1, Layer=hgalterskiy, Frame=50: Line 1: Clip events are permitted only for movie clip instances
onClipEvent(enterFrame) {
------

С другими что-то похожее.
В общем вот... Что я сделал не так?

netstuff
06.06.2002, 18:01
onClipEvent назначается не кадру, а клипу, т.е. писать код надо при выделенном мувике (в окне скриптов должно быть написано: "Acions for myMovie....")

netstuff
06.06.2002, 18:51
наваял побыстрому

WarkaMEN
06.06.2002, 19:01
О! Немного понятнее... Правда как работает это все, не очень понятно, но это обычное дело в начале изучения программирования... Не в первые!

Большое спасибо.

WarkaMEN
06.06.2002, 19:13
Еееее....

Я разобрался.
Понял свою ошибку!

Всем еще раз спасибо! Особенные благодарности netstuff.