главная -> ИОС

Требования к flash анимации
  Включение анимированных объектов в кадры приложения ИОС требует соблюдения набора правил при разработке flash анимации.
Подразумевается, что файл будет использоваться и в режиме обучения (тема), и тестирования.

  В зависимости от типа анимации (схема, панель или изображение механизма) или потребных способов управления предлагаются разные подходы.

Принципы взаимодействия с анимацией
  В ИОС используется два метода взаимодействия скрипта страницы с анимацией: работа с переменными actionscript и прямое управление свойствами объектов из javascript.

Работа с переменными:
anime.GetVariable("_root.en_comm");
anime.SetVariable("_root.en_comm", 1);

Прямое взаимодействие со свойствами:
anime.TGetProperty(nam,0);
anime.TSetProperty(sel_obj.value,0,pos_x.value);

где: anime – имя flash анимации на странице;
_root.en_comm – имя переменной в корне анимации;
sel_obj.value - имя объекта flash анимации;
0 в TSet,TGet – индекс параметра (свойства);
pos_x.value – значение параметра.

Перечень доступных свойств объектов виден на панели синхронизации.

Минимальный вариант (пример - sampl_axis_sph1.fla):
Воздействию подвергается объект в целом, при замене цвета теряются градиенты, не используются условные команды. Для этого в корне сцены размещается скрипт:

var en_comm = 0;
var col_str = "dee2e7";
var flag1 = 0; 
var obj_name = "";
var obj_path = "";
var obj_color = 0xdee2e7;//исходный цвет объекта
var timer1 = 0;
var num_com = 0;

timer1 = setInterval(this, "set_color", 20);
getURL ("JavaScript:init_mode('1')");

function obj_com(nam){
  if(Number(en_comm) == 1){
    obj_path = "_root."+nam;
    myColor=new Color(obj_path);
     if(myColor.getRGB()==0){
       col_str="dee2e7";
     }
     else{
       col_str = myColor.getRGB().toString(16);
     }
    getURL ("JavaScript:flash_com('"+nam+"')");
  }
}
function set_color(){
obj_path = "_root."+obj_name;
  if (flag1 == 1){
    myColor=new Color(obj_path);
    myColor.setRGB(Number("0x"+obj_color));
    flag1=0;
  }
}
  Каждый объект flash анимации, к которому предполагается применить управляющие воздействия, должен быть конвертирован в symbol (Movie Clip) в терминах Macromedia Flash (помещен в библиотеку под уникальным именем) и поименован на сцене.
Имя на сцене может быть произвольным, например: obj123.

Каждый объект flash анимации (с которым предполагается взаимодействие) должен содержать:

on (release){
_root.obj_com(this._name);
}

Вариант с передачей условных команд (пример – sampl_axis_sph2.fla):
  Для передачи условных команд используется механизм установки цвета - в поле объекта вводится условное имя, например: _com , а в поле цвета - номер условной команды. В скрипте корня анимации необходимо произвести соответствующую обработку.

Пример: В теме "Требования к flash анимации" кадр "Минимальный вариант" видно, что изменение прозрачности плоскости, состоящей из двух частей, происходит в два этапа (по мере выдачи команд, даже при задании одного значения времени).
  Добиться одновременности можно с помощью условной команды, для этого в корне сцены размещается скрипт:

var en_comm = 0;
var col_str = "dee2e7";
var flag1 = 0; 
var obj_name = "";
var obj_path = "";
var obj_color = "";
var timer1 = 0;
var num_com = 0;

timer1 = setInterval(this, "set_color", 20);
getURL ("JavaScript:init_mode('1')"); 

function obj_com(nam){
  if(Number(en_comm) == 1){
    obj_path = "_root."+nam;
    myColor=new Color(obj_path);
     if(myColor.getRGB()==0){
       col_str="dee2e7";
     }
     else{
       col_str = myColor.getRGB().toString(16);
     }
    getURL ("JavaScript:flash_com('"+nam+"')"); 
  }
}
function set_color(){
  if (flag1 == 1){
    if (obj_name == "_com"){
      if (obj_color=="123"){
      _root.pl1_1._alpha = 50;
      _root.pl1_2._alpha = 50;
      }
    }
    else{
      obj_path = "_root."+obj_name;
      myColor=new Color(obj_path);
      myColor.setRGB(Number("0x"+obj_color));
    }
      flag1=0;
  }
}

  Как видите, просто введена обработка по условию имени объекта и значения цвета (команды)

   
  © 2009   Сединко А.М.
  © 2004 design by   kir

Hosted by uCoz