Форум 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)
-   -   Задание метки кадра, преобразованной из показаний ComboBox (http://www.flasher.ru/forum/showthread.php?t=74246)

vladirom 15.01.2006 19:50

Задание метки кадра, преобразованной из показаний ComboBox
 
Помогите чайнику...
Имеем два ComboBox, a и b. Из них значения преобразовываю в строку, а потом объединяю. Объединенное значение должно служить меткой кадра во вложенном мувике, только чего-то не пашет. Подскажите, кто может, плз.

Код:

x = a.getSelectedItem().data;
y = b.getSelectedItem().data;
dat1 = x*10;
dat2 = y*10;
s1 = String(dat1);
s2 = String(dat2);
curFrame = s1+s2;
myMovie.gotoAndStop("curFrame");

на всякий случай вывел «curFrame» на экран в виде Dynamic Text, в нем все определяется, как надо, а в мувике кадры не меняются.

Antares 15.01.2006 20:48

1. Пользуемся тэгом code
2.
Код:

var firstCBValue:Number = Number( a.getSelectedItem().data );
var secondCBValue:Nubmer = Number( b.getSelectedItem().data );

var targetFrame = String( firstCBValue * 10 ) + String( secondCBValue * 10 );
myMovie.gotoAndStop( targetFrame );

3. При манере написания кода без var у вас еще много вопросов будет

vladirom 15.01.2006 21:44

1. Спасибо за назидание, впредь буду внимательнее при постинге.
2. И Ваш код не заработал, увы. Вывел в Dynamic Text "targetFrame" из Вашего кода, также все показывает правильно. А мувик не работает.
3. Извините, а написание кода без var - грубая ошибка? У меня как-то все работало до сих пор и без этого, а больших и сложных программ я не пишу, так, безделицы. Может, простите?

MOHCTEP 15.01.2006 21:45

myMovie.gotoAndStop(curFrame);

Antares 15.01.2006 22:07

3. Да пиши как хочешь... я называю это "писать код по-дизайнерски". Придут времена, закроют возможность писать такую ахинею в AS, будешь отучаться.

vladirom 15.01.2006 22:33

Да, тонко подмечено. Я дизайнер и есть. Что ж мне теперь, застрелиться, что ли? Буду приучаться писать код с var... Но программистом то я уже все равно никогда не стану. А сейчас что мне делать с мувиком? Может, есть еще какие-то засады, до которых я не докопался (просто не знаю, где копать)? Все перепроверил, метки кадров на месте, в мувике менял стоп в первом кадре на
Код:

onClipEvent (load) {
        this.stop();
}

, все безрезультатно.

Antares 15.01.2006 22:50

on(clipEvent) на самом деле тоже из разряда "надо отучаться".

Нет, стреляться не надо. Просто учиться и все. Дорогу осилит идущий.

Попробуй руками переводить его на этот кадр, что происходит?
Код:

var targetFrame:String = "1010";
gotoAndStop( targetFrame );

У меня еще вопрос: 1010 -- это тысяча десятый кадр? или просто метка такая интересная?

vladirom 15.01.2006 23:13

Нет, и вручную не переводится. Что-то с самим мувиком? Где смотреть?

Метки такие, но это не номера кадров, а в списках даны доли от целого, поэтому решил упростить, не выдумывать что-то, а если 2.5, то 25. Так 2.5х3.5 будет кадром с меткой 2535.

Antares 16.01.2006 00:18

Значит, метки такой нет, что сказать...

MOHCTEP 16.01.2006 03:21

Вложений: 1
Вот посмотри. Здесь переход не по меткам, а по номерам кадров, но это не суть.

vladirom 16.01.2006 14:01

Вложений: 1
Да, посмотрел, все работает красиво. Но с метками почему-то не получается. А мне именно метки требуются. Может посмотрите (см. аттач), скажете где я ошибся? Плз...

Жень Шень 16.01.2006 18:31

Вложений: 1
Привет!
То что с кодом несложилось, это не страшно. Дело наживное!
Главное: МЕТКИ кадров не должны быть ЦИФРАМИ!!!
Добавь в метках буквочку а(англ.) в начале и будет тебе счастье.
Смотри аттач.
В первых пяти кадрах метки я исправил.

vladirom 16.01.2006 19:17

2Жень Шень:

Спасибо за внимание, разобрался :) Огромный респект от меня!

Кстати, по поводу того, что метки не должны быть цифрами - это где-то документировано? Сразу полез в хелп, но там об этом ни слова... :confused:

Жень Шень 16.01.2006 19:43

Вложений: 1
Я проставил а (англ.!!!) до 35 кадра.
Это значит, что ComboBox А может быть только 1,5 и 2,0!!!
ComboBox В - любой.
Смотри аттач.
Все работает! :D

Жень Шень 16.01.2006 19:51

Да, по поводу имён!
Метка кадра - суть идентификатор. А согласно ЕСМА-262 он НЕ может начинаться с цифры. Кроме сего, недопустимо применения служебных символов и знаков пунктуации (-,+,@,^,(,*,/,{,[ и т.д).

vladirom 16.01.2006 19:54

2Жень Шень:

Да, оказывается проблема была именно в метках, а не в коде. Попробовал в своей старой версии - тоже все работает! Огромное Вам спасибо!

Жаль, что в документации по Флэшу это никак не упоминается :(
Во всяком случае (а я не первый год флэш юзаю), мне это нигде раньше не встречалось в руководствах. Правда, и цифровые метки я впервые использую, до этого обходился буквенными.

Все, тема закрыта!


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

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