Появление фотографии @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 19 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
diflux Муж.
участник
8
Сообщения: 1051
Зарегистрирован: 10.07.02
Откуда: Moscow
Заголовок сообщения: Появление фотографии
Сообщение Добавлено: 1 Сентябрь 2005, 12:28:22 
Есть код для появления картинки. В _root. все работает, как кладу в мувик, перестает... Где-то пути сбиваются?
Код:
onLoad = function () {
   victim_mc = screen2_mc;
   cols = 6;
   rows = 4;
   width = victim_mc._width;
   height = victim_mc._height;
   x = victim_mc._x;
   y = victim_mc._y;
   speed = 3;
   timer = 1;
   for (i=1; i<=cols*rows; i++) {
      newName = "mask"+i;
      depth = victim_mc.getNextHighestDepth()+i*i;
      clip_mc = victim_mc.duplicateMovieClip(newName, depth);
      clip_mc._width = width/cols;
      clip_mc._height = height/rows;
      clip_mc._x += width/cols*(relocatorX(cols, i)+1);
      clip_mc._y += height/rows*relocatorY(cols, i);
      clip_mc.idle = timer*relocatorY(cols, i);
      clip_mc._width = 0;
      clip_mc.onEnterFrame = function() {
         if (this.idle>0) {
            // trace("!");
            this.idle--;
         } else {
            if (((width/cols)-this._width)<0.2) {
               this.removeMovieClip();
            }
            slider = ((width/cols)-this._width)/speed;
            this._x -= slider;
            this._width += slider;
         }
      };
      newName = "dopple"+i;
      depth = victim_mc.getNextHighestDepth()+i*i+1;
      clip_mc = victim_mc.duplicateMovieClip(newName, depth);
      // clip_mc._x += width/cols * (relocatorX(cols, i) + 1) + slider*relocatorY(cols, i);
      // clip_mc._x += width/cols * (relocatorX(cols, i) + 1) + slider*relocatorY(cols, i);
      clip_mc.setMask(eval("mask"+i));
   }
   victim_mc._alpha = 0;
};
function relocatorX(cols, j) {
   while (j>cols) {
      j -= cols;
   }
   j--;
   return j;
}
function relocatorY(cols, j) {
   counter = 1;
   while (j>cols) {
      j -= cols;
      counter++;
   }
   counter--;
   return counter;
}
swfus
новый человек
0
Сообщения: 68
Зарегистрирован: 09.03.05
Сообщение Добавлено: 1 Сентябрь 2005, 14:46:09 

Цитата:
Где-то пути сбиваются?


дык ещё бы, они ж у тебя почти все абсолютные.
Совет на будущее: не ипользуй в качестве переменных width и height, иначе можно огрести кучу неприятностей.
swfus
новый человек
0
Сообщения: 68
Зарегистрирован: 09.03.05
Сообщение Добавлено: 1 Сентябрь 2005, 15:01:57 
виноват, может и с такими путями работать, смотря как ты кладешь.
дело в onLoad = function () наверно, убери эту строчку нафиг :)
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 1 Сентябрь 2005, 15:06:00 
Да дело то как раз в том что вся адресация относительная, пока лежит в _root - все ок, ссылается на переменные в руте, а как убираем куда то, то ссылаться начинает на это "куда-то" …

swfus никаких проблем от использования width и height быть не может ;)
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 1 Сентябрь 2005, 15:08:10 
width и height у Stage
p.s.
по мне так _w, _h удобнее

_________________
можно на ТЫ.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 1 Сентябрь 2005, 15:10:13 
bE(o0L, ты же знаешь, что речь идет не о Stage или TextField …
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 1 Сентябрь 2005, 15:11:08 
дада уже понял :beer:

_________________
можно на ТЫ.
diflux Муж.
участник
8
Сообщения: 1051
Зарегистрирован: 10.07.02
Откуда: Moscow
Сообщение Добавлено: 1 Сентябрь 2005, 15:22:24 
я кладу его в мувик и перестает работать
а (_root) я же не использую
где сбивается?
swfus
новый человек
0
Сообщения: 68
Зарегистрирован: 09.03.05
Сообщение Добавлено: 1 Сентябрь 2005, 15:22:54 
@st@l@vist@, насколько я понял макромедийных компоненты как-то используют переменные width, .., т.е.
могут начаться глюки. У меня один раз такое было.
swfus
новый человек
0
Сообщения: 68
Зарегистрирован: 09.03.05
Сообщение Добавлено: 1 Сентябрь 2005, 15:25:11 
макромедийных = макромедийные
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 1 Сентябрь 2005, 17:46:16 
diflux, используй точную адресацию:

var victim_mc = _root.screen2_mc;
_root.cols = 6;
_root.rows = 4;



и т д

swfus, да используют getter'ы width и height - и что? :) как это может нам повредить? только если мы будем делать что-то вроде myComponent.width = function() …

При желании можно снести весь флешовый API - и чтож теперь не пользоваться скриптом? ;)
diflux Муж.
участник
8
Сообщения: 1051
Зарегистрирован: 10.07.02
Откуда: Moscow
Сообщение Добавлено: 1 Сентябрь 2005, 18:08:53 
@st@l@vist@, спасибо! предоставил работу профессионалу :)
swfus
новый человек
0
Сообщения: 68
Зарегистрирован: 09.03.05
Сообщение Добавлено: 1 Сентябрь 2005, 23:24:09 
@st@l@vist@,
Запустить флэш, ctrl+n.
перетащить на сцену компонент ScrollPane;
вставить на основную сцену скрипт:
Код:
var width=50;
trace("width="+width);

переменная width приняла отмороженное значение. (ширину флэшки).
вуаля.
а если у тебя кода 2000 строк, то вызывает некоторые проблемы найти такую дурацкую ошибку.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 2 Сентябрь 2005, 00:19:39 
Да и вправду есть такой момент, правда никогда этого не замечал, так как не пользуюсь компонентами от ММ, теперь есть еще один повод …

А проблемы все от файла UIObjectExtensions.as :
_root.addProperty("width", function(){ return Stage.width; }, null); - зачем мне это? :dont:

Вывод другой не не использовать переменные с именами width и height, а не использовать компоненты :laugh:
swfus
новый человек
0
Сообщения: 68
Зарегистрирован: 09.03.05
Сообщение Добавлено: 2 Сентябрь 2005, 09:10:52 
Просто хотел предупредить, чтобы народ на те же грабли, что и я не наступил.

не использовать компоненты :confused: , а мне они нравятся :rotate:
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 2 Сентябрь 2005, 11:10:17 
сам пиши. надёжней. :dandy:

_________________
можно на ТЫ.
nuran
«Лектор»
46
Сообщения: 1569
Зарегистрирован: 21.05.04
Сообщение Добавлено: 2 Сентябрь 2005, 15:49:19 
Замучаешься сам писать с такой функциональностью.

_________________
blog : flash / unity
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 2 Сентябрь 2005, 16:58:43 
ну не всегда столько нужно :dandy:

_________________
можно на ТЫ.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 2 Сентябрь 2005, 17:36:30 
В первую очередь они нужны ММ со своими флексами, бризами и т д (при этом каждый день находится по десятку глюков).
Во вторых ни разу не видел, чтобы кто-то использовал на всю катушку возможности - да оно и не нада, а в третьих самый большой минус - это подогнать под проект и его стилистику (речь не идет о том, чтобы перекрасить и подобное).
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 19 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100