Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.06.2008, 10:37
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 1  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Question Как правильно задать имя кадра

Привет.
Вобщем вопрос из начальной школы, но ввел меня в ступор. Есть мувик - например 20 кадров. Десятый кадр - key Frame - даю ему название в панели properties. Потом пишу

Код:
if (mc._currentframe == "название_кадра"){
   ...
}
Не пашет. Что я делаю не так.
Вложения
Тип файла: zip 111.zip (5.3 Кб, 53 просмотров)

Старый 02.06.2008, 10:52
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 2  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
А Вы, простите, на чьей шкале пишите?

Старый 02.06.2008, 11:01
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 3  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
А в примере разве не видно? На _root. Или в классе. Один результат - не работает.

Старый 02.06.2008, 11:04
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
На шкале кадров. То есть мы задаем имя кадра и можем воспользоваться
Код:
gotoAndStop("myFrameName");
Но Волгоградцу надо узнать имя этого кадра в данный момент.
Что могу сказать про _currentframe - он имеет тип Number, то есть он никогда не станет равен строки. Скорее всего (я не уверен, надо покопаться) эти флажки нужны лишь для gotoAndStop&gotoAndPlay для глупых дизайнеров (я не говорю что все дизайнеры глупые), не понимающих в программинге.
Как вариант: заводим массив, туда пишем имена кадров. Скажем 5 кадр обзовем вася, 241 петя.
Код:
var a:Array=new Array();
a[5]="vasya";
a[241]="petya"
//...
trace(a[mc._currentframe]);
Не спорю, что это криво и слишком "в лоб", но работает

Старый 02.06.2008, 11:18
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 5  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Мдааа. Я почему то был уверен, что _currentframe может принимать строку (странно, почему компилятор не ругается). Буду делать с массивом. Спс, Psycho Tiger.

Upd.: а, нет, с массивом не получится - какой смыл от него. Мне нужно было дать метку кадру для того, чтобы потом добавлять или удалять кадры, не трогая код.


Последний раз редактировалось Волгоградец; 02.06.2008 в 11:21.
Старый 02.06.2008, 11:29
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Хм... я тут подумал и придумал адский код для извращенцев (tm, (c) Psycho Tiger).
Смотри (не впади в истерику), вот алгоритм:
1) Запоминаем текущий кадр
2) делаем gotoAndStop("метка кадра")
3) сравниваем, поменялся ли _currentframe
4) делаем gotoAndStop(на тот кадр что в 1 пункте)

Ага! Теперь мы знаем. на том ли кадре с меткой мы находимся XD

UPD: про компилятор не ругается - ас2 добрый, пока критическую ошибку не найдет, ругаться не будет.
про принимать строку: как ты себе представляешь, что одна переменная может принимать аж 2 значения?


Последний раз редактировалось Psycho Tiger; 02.06.2008 в 11:33.
Старый 02.06.2008, 11:41
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 7  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Цитата:
как ты себе представляешь, что одна переменная может принимать аж 2 значения?
Не переменная, а метод - также как gotoAndStop() - может принимать число или строку.
:-) Алгоритм действительно ацкий. И так как "tm, (c) Psycho Tiger", то не буду применять, а то еще в суд подашь.

Старый 02.06.2008, 11:55
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Нет нет нет, ты не прав.
gotoAndStop() - метод, у него в скобки идет аргумент - переменная динамическая. И что там флэш с ней делает - непонятно... скорее всего смотрит на тип и делает ветвление.
_currentframe - это свойство (если был бы метод были бы скобки). Свойство - фактически переменная (терминлогия, блин... функции, методы, свойства, переменные... ух) - 2 значения принимать не может.
В суд не подам, это опенсурс проект, можете использовать даже без ссылки на автора =)

Старый 02.06.2008, 12:40
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 9  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Считать метку кадра (строковую) можно в AS3. (одно из немногих преимуществ, которое почему-то адобовцы "забыли" добавить к AVM1)

Старый 02.06.2008, 12:46
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 10  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Ага, почитал. currentLabel называется. Удобная штука, этот AS3.0.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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