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

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

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

Регистрация: Nov 2013
Сообщений: 19
По умолчанию Увеличение картинки. Проблема с позицией символа

прошу помочь с кодом на actionscript 3.
есть функция увеличения картинки и возварт в исходный размер,где currentPic картинка в массиве, а
podlogka - это мувиклип который появляется на заднем плане увеличенной картинки. Код работает,но при переходе на другой кадр например gotoAndStop(5) картинка остаётся хотя её на таймлайне в кадре 5 нет.помогите пожалуйста!диплом накрывается((

Код AS3:
function picWasClick(e:MouseEvent):void{
 
    if(podlogka.visible){
        trace(currentPic.parent.parent.parent);
        trace(currentPic.parent.parent);
        trace(currentPic.parent);	
        currentPic.scaleX = 1;
        currentPic.scaleY = 1;
        currentPic.x = currentPic.prevx;
        currentPic.y = currentPic.prevy;
        podlogka.visible = false;
        index = this.getChildIndex(currentPic); 
    }else{
        currentPic = e.target;
        currentPic.prevx = currentPic.x;
        currentPic.prevy = currentPic.y;
        podlogka.visible = true;
        currentPic.scaleX = 2;
        currentPic.scaleY = 2;
        this.setChildIndex(podlogka, (this.numChildren-1)); 
        index = this.setChildIndex(currentPic, (this.numChildren-1));
        trace(this);trace(Stage);
        currentPic.x = (this.podlogka.width-currentPic.width)/2;
        currentPic.y = (this.podlogka.height-currentPic.height)/2;
    }
}


Последний раз редактировалось dimarik; 12.11.2013 в 01:08. Причина: Форматирование
Старый 12.11.2013, 01:11
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Друг, не обессудь. Меня терзает вопрос жизни и смерти: где тебя научили писать "if(" без пробела между "if" и скобкой "("? Я совершенно серьезен. Ответишь нормально -- помогу с кодом.

И велкам на наш форум )

Тут у нас, кстати, нужно вроде как писать по правилам русского языка, хотя бы в минимальных объемах. Типа предложение начинается с заглавной буквы и все такое. Но это вроде неважно, до первого плюса от вышедшего из себя модератора. И чегой-то я пригляделся, а пробелы-то ты вообще не любишь. Думаешь, сработаемся?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 12.11.2013 в 01:32.
Старый 12.11.2013, 01:40
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ну а по коду. Ты зачем оставляешь шансы переопределить свой(?) чёткий метод setChildIndex?
Код AS3:
this.setChildIndex(podlogka, (this.numChildren-1));
Когда я наблюдаю такую запись (this) у меня сразу включается рефлекс: что-то тут он (автор) задумал. А вот на
Код AS3:
super.setChildIndex(this.podlogka, (super.numChildren-1));
Я спокоен.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 12.11.2013, 01:43
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 4  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от alexrunaway Посмотреть сообщение
Код работает,но при переходе на другой кадр например gotoAndStop(5) картинка остаётся хотя её на таймлайне в кадре 5 нет
Так как вы пишете в кадрах и работаете с ними то:
это происходит потому, что вы программно меняете расположение дисплейОбъекта (setChildIndex), который лежит на самой сцене (root). Так же будет происходить с операциями addChild, addChildAt и т.п.
То-есть вам нужно избавиться от манипуляции расположения объектов на сцене.

Поместите все ваши объекты в контейнер (в мувик) и меняйте их расположение в нём.

Старый 12.11.2013, 12:47
alexrunaway вне форума Посмотреть профиль Отправить личное сообщение для alexrunaway Найти все сообщения от alexrunaway
  № 5  
Ответить с цитированием
alexrunaway

Регистрация: Nov 2013
Сообщений: 19
По поводу табуляции кода могу ответить, что никто не учил, поэтому так и написан,учту. Вопрос: как будет выглядеть код если поместить все объекты в мувик?

Старый 12.11.2013, 17:45
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 6  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Если у вас есть мувик mc1, а в нём мувик mc2. То обратиться к мувику mc2 нужно через mc1.
Код AS3:
mc1.mc2.x=150

Старый 12.11.2013, 18:38
alexrunaway вне форума Посмотреть профиль Отправить личное сообщение для alexrunaway Найти все сообщения от alexrunaway
  № 7  
Ответить с цитированием
alexrunaway

Регистрация: Nov 2013
Сообщений: 19
т.е. нужно просто везде обращаться к currentPic через вложение в символ? например:
Код AS3:
mc1.currentPic.scaleX = 2;

Старый 12.11.2013, 18:51
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 8  
Ответить с цитированием
Akopalipsis
Banned

Регистрация: Mar 2013
Сообщений: 1,864
mc1, currentPic - это не имена, а ссылки на обьекты. Видите в адресной строке flasher.ru, далее указан путь forum, далее указан путь в эту тему. Вот и тут так же, в зависимости от глубины обьекта, к нему и путь нужно полный и последовательный указывать.

Старый 12.11.2013, 19:11
alexrunaway вне форума Посмотреть профиль Отправить личное сообщение для alexrunaway Найти все сообщения от alexrunaway
  № 9  
Ответить с цитированием
alexrunaway

Регистрация: Nov 2013
Сообщений: 19
Да, я понимаю что это ссылки, путь к картинке в виде имен экземпляров объекта на сцене.Вроде заработало но теперь почему-то не работает вывод картинки на самый передний план

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Картинка никогда не станет "выше" на сцене, чем контейнер в котором она находится. То-есть ваш контейнер должен быть "выше" всего содержимого на сцене, чтобы картинки в нём не кто не перекрывал.

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

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

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


 


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


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