главная -> статьи -> уроки -> Flash графика в приложении. Осциллограф.
 
Переехал на ased.dtn.ru

  В предыдущих примерах использовался метод копирования исходного элемента с последующим управлением свойствами копий (цвет, координаты и пр.). Идея "осциллографа" несколько отличается в способе реализации. Эскизно его можно описать следующим образом:
- существует массив с последовательностью выборок изучаемого сигнала;
- набор точек линии развертки формируется один раз при загрузке;
- свойство _у каждой точки однозначно соответствует элементу массива;
- обновление свойства производится по каждому кадру;
- массив выборок может заполняться в порядке, определяемом приложением.
  В примере "осциллограф" показаны следующие режимы:

  1. Последовательное заполнение массива случайным сигналом.
  2. Последовательное заполнение массива функцией Y=cos(x/20) с набегом фазы.
  3. Последовательное заполнение массива функцией Y=sin(x/40) с набегом фазы.
  4. Заполнение случайных элементов массива случайным сигналом.
  5. Одномоментное заполнение массива функцией Y=cos(x/20) с набегом фазы.

  Для самостоятельного изучения и модификации кода скачайте Flash исходник.

Разберем некоторые приемы:

  Развертка формируется один раз посредством копирования исходного объекта:

j=0;
for (i=1; i<=199; i++){
duplicateMovieClip(_root.el, i, j);
setProperty(i, _x, i+3);
j++;
}

  Причем в выражении:
duplicateMovieClip(target, newname, depth);
i - переменная обеспечения уникальности имен и является именем;
j - переменная обеспечения уникальности слоев.
Исходный объект несет в себе метод обеспечения сответствия свойства _у элементу массива:

onClipEvent (enterFrame) {
this._y =_root.sig_arr[parseInt(this._name)];
}

Вот и вся идея "осциллографа", остальной код - запись в массив разных сигналов.

   
  © 2002-2004   Сединко А.М.
  © 2004 design by   kir
Hosted by uCoz