Разработка базы данных 3D-объектов системы проектирования интерьеров
Универсальная подпрограмма по записи элементов и атрибутов из таблицы XML в различные массивы, в зависимости от раздела. Алгоритм трехмерной визуализации. Классы разбора таблицы XML по элементам и атрибутам. Алгоритмы работы с двухмерными объектами.
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
var shkaf_items_y:Array = new Array;
//Массив флагов объектов
var shkaf_obj_flag:Array = new Array;
var shkaf_items_w:Array = new Array;
var shkaf_items_h:Array = new Array;
//Флаг, отвечающий за загрузку элементов
var chear_flag:Boolean = false;
//Массив объектов
var chear_obj:Array = new Array;
//Массив названия элемента
var chear_items:Array = new Array;
//Массив ссылок на элементы
var chear_items_src:Array = new Array;
//Массив х координат элементов
var chear_items_x:Array = new Array;
//Массив у координат элементов
var chear_items_y:Array = new Array;
//Массив флагов объектов
var chear_obj_flag:Array = new Array;
var chear_items_w:Array = new Array;
var chear_items_h:Array = new Array;
//Флаг, отвечающий за загрузку элементов
var table_flag:Boolean = false;
//Массив объектов
var table_obj:Array = new Array;
//Массив названия элемента
var type_items:Array = new Array;
//Массив ссылок на элементы
var table_items_src:Array = new Array;
//Массив х координат элементов
var table_items_x:Array = new Array;
//Массив у координат элементов
var table_items_y:Array = new Array;
//Массив флагов объектов
var table_obj_flag:Array = new Array;
var table_items_w:Array = new Array;
var table_items_h:Array = new Array;
//Флаг, отвечающий за загрузку элементов
var light_flag:Boolean = false;
//Массив объектов
var light_obj:Array = new Array;
//Массив названия элемента
var light_items:Array = new Array;
//Массив ссылок на элементы
var light_items_src:Array = new Array;
//Массив х координат элементов
var light_items_x:Array = new Array;
//Массив у координат элементов
var light_items_y:Array = new Array;
//Массив флагов объектов
var light_obj_flag:Array = new Array;
var light_items_w:Array = new Array;
var light_items_h:Array = new Array;
//Флаг, отвечающий за загрузку элементов
var ather_flag:Boolean = false;
//Массив объектов
var ather_obj:Array = new Array;
//Массив названия элемента
var ather_items:Array = new Array;
//Массив ссылок на элементы
var ather_items_src:Array = new Array;
//Массив х координат элементов
var ather_items_x:Array = new Array;
//Массив у координат элементов
var ather_items_y:Array = new Array;
//Массив флагов объектов
var ather_obj_flag:Array = new Array;
var ather_items_w:Array = new Array;
var ather_items_h:Array = new Array;
//Массив видимых объектов
var arr_visible:Array = new Array;
var arr_visible_i:Array = new Array;
var arr_visible_w:Array = new Array;
var arr_visible_h:Array = new Array;
var arr_visible_flag:Array = new Array;
//Флаги открытия меню
var table_menu_open:Boolean = false;
var light_menu_open:Boolean = false;
var chear_menu_open:Boolean = false;
var beds_menu_open:Boolean = false;
var shkaf_menu_open:Boolean = false;
var ather_menu_open:Boolean = false;
//Начальное значение угла для поворота
var y_st:Number = 0;
//Счетчики, используемые в программе
var i:Number = 1;
var k:Number = 1;
var select:Number;
//Количество точек стенке
var wall_i:Number = 1;
var i_but:Number = 5;
//Необходимые клипы
_root.createEmptyMovieClip("grid", 0);
_root.createEmptyMovieClip("points", 1);
_root.createEmptyMovieClip("borderlayer", 2);
_root.createEmptyMovieClip("linelayer", 3);
_root.createEmptyMovieClip("roomlayer", 4);
_root.createEmptyMovieClip("walllayer", 5);
_root.createEmptyMovieClip("tempobj", 30);
_root.createEmptyMovieClip("selectpixl", 100);
_root.createEmptyMovieClip("borderobj", 101);
//Подключаем класс
import menuXml;
import bedsXml;
import shkafXml;
import chearXml;
import tableXml;
import lightsXml;
import atherXml;
import objXml;
// создаем экземпляр - объект myxml
//var myxml:menuXml = new menuXml('menuitems.xml');
var menu:menuXml = new menuXml('xmls/menuitems.xml');
var bed:bedsXml = new bedsXml('xmls/beditems.xml');
var shkaf:shkafXml = new shkafXml('xmls/shkafitems.xml');
var chear:chearXml = new chearXml('xmls/chearitems.xml');
var table:tableXml = new tableXml('xmls/tableitems.xml');
var light:lightsXml = new lightsXml('xmls/lightitems.xml');
var ather:atherXml = new atherXml('xmls/atheritems.xml');
var objx3d:XML = new XML();
var outvar:LoadVars = new LoadVars();
var invar:LoadVars = new LoadVars();
5.2 Блок синтаксического анализатора базы данных
import mx.utils.Delegate; // подключаем Delegate class
class atherXml {
var file:String; // адрес xml-файла
private var _xml:XML = null; // загруженный объект xml
public var _data:Object = null; // результирующий объект с данными
public var lenght:Number = 0;
public var succ:Boolean = false;
public var end_parse:Boolean = false;
// Конструктор класса
public function atherXml(f:String) {
this.file = f;
this._xml = new XML(); // создаем объект xml
// игнорировать текстовые узлы состоящие из пробелов
this._xml.ignoreWhite = true;
// указываем облость действия обработчику
this._xml.onLoad = Delegate.create(this, xmlParser);
this._xml.load(this.file); // начинаем загрузку xml-документа
}
private function xmlParser(success):Void {
// метод Лоад возвращает успешность загрузки, флаг
if (success) {
this._data = new Object(); // инициализация объекта с данными
var group = this._xml.firstChild.firstChild; // указатель на первый элемент
while (group) { // в цикле проходим по всем элементам
var elem_num = group.attributes.elem_num;
this._data[elem_num] = new Object();
this._data[elem_num]['gr_name'] = group.attributes.gr_name;
this._data[elem_num]['items'] = new Object;
var item = group.firstChild; // первый ребенок группы
while(item) { // цикл по детям
var prop_num = item.attributes.prop_num;
this._data[elem_num]['items'][prop_num] = new Object();
this._data[elem_num]['items'][prop_num]['name'] = item.attributes.name;
this._data[elem_num]['items'][prop_num]['description'] = item.firstChild.nodeValue;
item = item.nextSibling;
}
group = group.nextSibling;
lenght = lenght + 1;
}
}
// функция для использования полученных данных
_root.parseather(success);
end_parse = true;
}
}
5.3 Блок основной программы
creatnet();
creatselectpixl();
_root.onMouseDown = function () {
x = _xmouse;
y = _ymouse;
//Если происходит попытка поставить точку вне зоны рисования,
//то срабатывает миханизм отключения рисования
if ((x + (w_p/2) > wmax) or (y + (h_p/2) > hmax) or (drawing_end) or (x - (w_p/2) < wmin) or (y - (h_p/2) < hmin)) {
flag1 = false;
};
//Если происходит попытка поставить точку в зоне рисования,
//то срабатывает миханизм включения рисования
if (((x + (w_p/2) < wmax) && (y + (h_p/2) < hmax) && (x - (w_p/2) > wmin) && (y - (h_p/2) > hmin))&&(!flag2)&&(!drawing_end)&&(!create_obj)) {
flag1 = true;
};
// При нажатии на левую кнопку мыши в зоне рисования ставим точку
if (flag1) {
arr_coordx[i] = Math.floor((x + step/2)/step)*step;
arr_coordy[i] = Math.floor((y + step/2)/step)*step;
//Если коокдинаты точки соответствуют координатам начальной точки, то линия замыкается
//и рисование перестает быть возможным
if ((arr_coordx[i] == arr_coordx[1])&&(arr_coordy[i] == arr_coordy[1]) && (i != 1)) {
drawlastline(i);
drawing_end = true;
menu_obj[2]._alpha = 50;
menu_obj[2].enabled = false;
menu_obj[3]._alpha = 100;
menu_obj[3].enabled = true;
} else {
// Рисуем непосредственно точку
menu_obj[1]._alpha = 100;
menu_obj[1].enabled = true;
arr_p[i] = points.createEmptyMovieClip("mc"+i,i);
createpoint(arr_p[i], color);
arr_p[i]._x = arr_coordx[i] - w_p/2;
arr_p[i]._y = arr_coordy[i] - h_p/2;
arr_coordx[select] = arr_p[select]._x + w_p/2;
arr_coordy[select] = arr_p[select]._y + h_p/2;
if (i!= 1) {
drawline(i);
};
i = i + 1;
};
};
//Если координаты мыши соответствуют координатам точки, то вокруг этой точки
//рисуется рамка и происходит выделение
if (flag2) {
x_temp = Math.floor((x + step/2)/step)*step;
y_temp = Math.floor((y + step/2)/step)*step;
for (var n=1; n<=i-1; n++) {
if ((x_temp == arr_coordx[n]) && (y_temp == arr_coordy[n])) {
select_flag = true;
select = n;
createborder(n, w_p, h_p);
arr_p[n].startDrag();
};
};
};
//Блок установки объекта в облости рисования
if ((x <= max_wallcoordx)&&(x>=min_wallcoordx)&&(y >= min_wallcoordy)&&(y <= max_wallcoordy)&&(create_obj)) {
tempobj.stopDrag();
obj_on_pole += 1;
tempobj.duplicateMovieClip("obj" + obj_on_pole, 30 + obj_on_pole);
tempobj.clear();
arr_category[obj_on_pole] = category;
arr_obj_num[obj_on_pole] = arr_visible_i[select_number];
arr_obj_x[obj_on_pole] = (_root["obj" + obj_on_pole]._x)/10 - wmin/10 - center_pole_x;
arr_obj_y[obj_on_pole] = (_root["obj" + obj_on_pole]._y)/10 - hmin/10 - center_pole_y;
arr_obj_w[obj_on_pole] = arr_visible_w[select_number];
arr_obj_h[obj_on_pole] = arr_visible_h[select_number];
obj_center_rot_x = _root["obj" + obj_on_pole]._x;
obj_center_rot_y = _root["obj" + obj_on_pole]._y;
arr_rotation[obj_on_pole] = 0;
var cat_name = arr_category[obj_on_pole];
trace(obj_on_pole);
objx3d.load("objx3d/"+"obj" + cat_name + "_" + arr_obj_num[obj_on_pole] + ".x3d");
objx3d.onLoad = function(success:Boolean){
if(success){
arr_obj_string[obj_on_pole] = objx3d.toString();// converts dots XML object to a string and stores it in dotsToXMLString.
} else{
trace("Could not load XML");
}
}
create_obj = false;
menu_obj[4].enabled = true;
menu_obj[4]._alpha = 100;
menu_obj[15].enabled = true;
menu_obj[15]._alpha = 100;
menu_obj[16].enabled = true;
menu_obj[16]._alpha = 100;
menu_obj[17].enabled = true;
menu_obj[17]._alpha = 100;
menu_obj[18].enabled = false;
menu_obj[18]._alpha = 50;
};
if ((rdy_to_select)&&(!rotate_obj)) {
selectpixl.stopDrag();
_root["obj" + select_num].startDrag();
_root["obj" + select_num]._alpha = 50;
select_obj = false;
rdy_to_select = false;
selected_obj = true;
};
if ((rdy_to_select)&&(rotate_obj)) {
selectpixl.stopDrag();
if (select_num != old_select_num) {
obj_rotation_old = 0;
};
trace(obj_rotation_old);
x_temp = _xmouse;
y_temp = _ymouse;
select_obj = false;
rdy_to_select = false;
selected_obj = true;
};
if (flag_xml) {
//Включение режима выделения
if (menu_obj_flag[1]) {
flag2 = true;
borderlayer.clear();
};
//Включения режима рисования
if (menu_obj_flag[2]) {
flag2 = false;
borderlayer.clear();
};
//Рисование стенки
if (menu_obj_flag[3]) {
wall_created = true;
createwall();
sortcoordofwall();
menu_obj[1].enabled = false;
menu_obj[1]._alpha = 50;
if (table_flag) {
for (var n_i = 1; n_i <= n_tables; n_i++) {
table_obj[n_i]._alpha = 100;
table_obj[n_i].enabled = true;
};
};
};
//Обработка поворотной кнопки
if (menu_obj_flag[4]) {
selectpixl._x = _xmouse;
selectpixl._y = _ymouse;
selectpixl.startDrag();
select_obj = true;
rotate_obj = true;
};
if ((menu_obj_flag[15])&&(obj_on_pole != 0)) {
obj_string = "<X3D><Scane><Group><Viewpoint centerOfRotation" + chr(61) + chr(34) + "0 0 0" + chr(34) + "/>";
for (var n_i = 1; n_i <= obj_on_pole; n_i++) {
obj_string = obj_string + "<Transform translation" + chr(61) + chr(34) + int((arr_obj_x[n_i])*10)/10 + " " + int((arr_obj_y[n_i])*10)/10 + " " + "0" + chr(34) + " " + "rotation" + chr(61) + chr(34) + "0 0 " + int((arr_rotation[n_i])*100)/100 + " " + "1" + chr(34) + ">";
obj_string = obj_string + arr_obj_string[n_i];
if (n_i != obj_on_pole) {
obj_string = obj_string + "</Transform></Group><Group>";
}
trace(arr_obj_x[n_i]);
trace(arr_obj_y[n_i]);
trace(arr_rotation[n_i]);
};
obj_string = obj_string + "</Transform></Group></Scane></X3D>"
menu_obj_flag[15] = false;
trace(obj_string);
out = obj_string;
loadVariables("writetofile.php", "", "POST");
getURL("writetofile.php", "_blank")
file_created = true;
menu_obj[15].enabled = false;
menu_obj[15]._alpha = 50;
menu_obj[18].enabled = true;
menu_obj[18]._alpha = 100;
};
if (menu_obj_flag[17]) {
selectpixl._x = _xmouse;
selectpixl._y = _ymouse;
selectpixl.startDrag();
select_obj = true;
};
if (menu_obj_flag[18]) {
getURL("rdyroom.x3d", _blank);
};
//Обнуление элементов (очистка рабочего поля, обнуление исходных данных)
if (menu_obj_flag[5]) {
for (var n_i = 1; n_i <= obj_on_pole; n_i = n_i + 1) {
_root["obj" + n_i].removeMovieClip();
arr_obj_string[n_i] = "";
arr_cotegory[n_i] = undefined;
arr_obj_num[n_i] = undefined;
select_number = undefined;
arr_obj_x[n_i] = undefined;
arr_obj_y[n_i] = undefined;
arr_rotation[n_i] = 0;
obj_rotation = undefined
obj_rotation_old = undefined;
obj_center_rot_x = undefined;
obj_center_rot_y = undefined;
};
for (var n_i = 1; n_i <= i; n_i++) {
arr_p[n_i].clear();
arr_l[n_i].clear();
arr_coordx[n_i] = null;
arr_coordy[n_i] = null;
};
for (var n_i = 1; n_i <= wall_i; n_i++) {
arr_wallcoordx[n_i] = null;
arr_wallcoordy[n_i] = null;
};
selectpixl._visible = false;
select_obj = false;
selected_obj = false;
rdy_to_select = false;
borderlayer.clear();
walllayer.clear();
roomlayer.clear();
flag1 = false;
flag2 = false;
flag3 = false;
drawing_end = false;
wall_created = false;
obj_rotation_old = 0;
obj_rotation = 0;
obj_on_pole = 0;
i = 1;
k = 1;
wall_i = 1;
menu_obj[1]._alpha = 50;
menu_obj[1].enabled = false;
menu_obj[2]._alpha = 100;
menu_obj[2].enabled = true;
menu_obj[3]._alpha = 50;
menu_obj[3].enabled = false;
menu_obj[4]._alpha = 50;
menu_obj[4].enabled = false;
menu_obj[15]._alpha = 50;
menu_obj[15].enabled = false;
menu_obj[16]._alpha = 50;
menu_obj[16].enabled = false;
menu_obj[17]._alpha = 50;
menu_obj[17].enabled = false;
menu_obj[18]._alpha = 50;
menu_obj[18].enabled = false;
}
if (menu_obj_flag[6]) {
if (type_of_obj == "bed") {
partview(bed_items_x, bed_items_y, bed_items_src, arr_visible, bed_obj_flag, 23, bed_items_w, bed_items_h);
};
if (type_of_obj == "tabel") {
partview(table_items_x, table_items_y, table_items_src, arr_visible, table_obj_flag, 23, table_items_w, table_items_h);
};
if (type_of_obj == "shkaf") {
partview(shkaf_items_x, shkaf_items_y, shkaf_items_src, arr_visible, shkaf_obj_flag, 23, shkaf_items_w, shkaf_items_h);
};
if (type_of_obj == "chear") {
partview(chear_items_x, chear_items_y, chear_items_src, arr_visible, chear_obj_flag, 23, chear_items_w, chear_items_h);
};
if (type_of_obj == "light") {
partview(light_items_x, light_items_y, light_items_src, arr_visible, light_obj_flag, 23, light_items_w, light_items_h);
};
if (type_of_obj == "ather") {
partview(ather_items_x, ather_items_y, ather_items_src, arr_visible, ather_obj_flag, 23, ather_items_w, ather_items_h);
};
};
if (menu_obj_flag[7]) {
if (type_of_obj == "bed") {
partview(bed_items_x, bed_items_y, bed_items_src, arr_visible, bed_obj_flag, 23, bed_items_w, bed_items_h);
};
if (type_of_obj == "tabel") {
partview(table_items_x, table_items_y, table_items_src, arr_visible, table_obj_flag, 23, table_items_w, table_items_h);
};
if (type_of_obj == "shkaf") {
partview(shkaf_items_x, shkaf_items_y, shkaf_items_src, arr_visible, shkaf_obj_flag, 23, shkaf_items_w, shkaf_items_h);
};
if (type_of_obj == "chear") {
partview(chear_items_x, chear_items_y, chear_items_src, arr_visible, chear_obj_flag, 23, chear_items_w, chear_items_h);
};
if (type_of_obj == "light") {
partview(light_items_x, light_items_y, light_items_src, arr_visible, light_obj_flag, 23, light_items_w, light_items_h);
};
if (type_of_obj == "ather") {
partview(ather_items_x, ather_items_y, ather_items_src, arr_visible, ather_obj_flag, 23, ather_items_w, ather_items_h);
};
};
if (menu_obj_flag[8]) {
category = 1;
if (table_menu_open) {
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
table_menu_open = false;
};
if (shkaf_menu_open) {
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
shkaf_menu_open = false;
};
if (chear_menu_open) {
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
chear_menu_open = false;
};
if (light_menu_open) {
menu_obj[13]._y -= 40*5 + 10*5 + 20;
light_menu_open = false;
};
if (ather_menu_open) {
ather_menu_open = false;
};
type_of_obj = "bed";
partview(bed_items_x, bed_items_y, bed_items_src, arr_visible, bed_obj_flag, 23, bed_items_w, bed_items_h);
if (!bed_menu_open) {
menu_obj[9]._y += 40*5 + 10*5 + 20;
menu_obj[10]._y += 40*5 + 10*5 + 20;
menu_obj[11]._y += 40*5 + 10*5 + 20;
menu_obj[12]._y += 40*5 + 10*5 + 20;
menu_obj[13]._y += 40*5 + 10*5 + 20;
menu_obj[6]._alpha = 100;
menu_obj[6].enabled = true;
menu_obj[6]._x = 530;
menu_obj[6]._y = 297;
menu_obj[7]._alpha = 100;
menu_obj[7].enabled = true;
menu_obj[7]._x = 450;
menu_obj[7]._y = 297;
menu_obj[14]._alpha = 100;
menu_obj[14].enabled = true;
menu_obj[14]._x = menu_obj[8]._x - 25;
menu_obj[14]._y = menu_obj[8]._y + 4;
};
bed_menu_open = true;
}
if (menu_obj_flag[9]) {
category = 2;
if (bed_menu_open) {
menu_obj[9]._y -= 40*5 + 10*5 + 20;
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
bed_menu_open = false;
};
if (shkaf_menu_open) {
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
shkaf_menu_open = false;
};
if (chear_menu_open) {
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
chear_menu_open = false;
};
if (light_menu_open) {
menu_obj[13]._y -= 40*5 + 10*5 + 20;
light_menu_open = false;
};
if (ather_menu_open) {
ather_menu_open = false;
};
type_of_obj = "tabel";
partview(table_items_x, table_items_y, table_items_src, arr_visible, table_obj_flag, 23, table_items_w, table_items_h);
if (!table_menu_open) {
menu_obj[10]._y += 40*5 + 10*5 + 20;
menu_obj[11]._y += 40*5 + 10*5 + 20;
menu_obj[12]._y += 40*5 + 10*5 + 20;
menu_obj[13]._y += 40*5 + 10*5 + 20;
menu_obj[6]._alpha = 100;
menu_obj[6].enabled = true;
menu_obj[6]._x = 530;
menu_obj[6]._y = 332;
menu_obj[7]._alpha = 100;
menu_obj[7].enabled = true;
menu_obj[7]._x = 450;
menu_obj[7]._y = 332;
menu_obj[14]._alpha = 100;
menu_obj[14].enabled = true;
menu_obj[14]._x = menu_obj[9]._x - 25;
menu_obj[14]._y = menu_obj[9]._y + 4;
};
table_menu_open = true;
}
if (menu_obj_flag[10]) {
category = 3;
if (bed_menu_open) {
menu_obj[9]._y -= 40*5 + 10*5 + 20;
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
bed_menu_open = false;
};
if (table_menu_open) {
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
table_menu_open = false;
};
if (chear_menu_open) {
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
chear_menu_open = false;
};
if (light_menu_open) {
menu_obj[13]._y -= 40*5 + 10*5 + 20;
light_menu_open = false;
};
if (ather_menu_open) {
ather_menu_open = false;
};
type_of_obj = "shkaf";
partview(shkaf_items_x, shkaf_items_y, shkaf_items_src, arr_visible, shkaf_obj_flag, 23, shkaf_items_w, shkaf_items_h);
if (!shkaf_menu_open) {
menu_obj[11]._y += 40*5 + 10*5 + 20;
menu_obj[12]._y += 40*5 + 10*5 + 20;
menu_obj[13]._y += 40*5 + 10*5 + 20;
menu_obj[6]._alpha = 100;
menu_obj[6].enabled = true;
menu_obj[6]._x = 530;
menu_obj[6]._y = 367;
menu_obj[7]._alpha = 100;
menu_obj[7].enabled = true;
menu_obj[7]._x = 450;
menu_obj[7]._y = 367;
menu_obj[14]._alpha = 100;
menu_obj[14].enabled = true;
menu_obj[14]._x = menu_obj[10]._x - 25;
menu_obj[14]._y = menu_obj[10]._y + 4;
};
shkaf_menu_open = true;
}
if (menu_obj_flag[11]) {
category = 4;
if (bed_menu_open) {
menu_obj[9]._y -= 40*5 + 10*5 + 20;
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
bed_menu_open = false;
};
if (table_menu_open) {
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
table_menu_open = false;
};
if (shkaf_menu_open) {
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
shkaf_menu_open = false;
};
if (light_menu_open) {
menu_obj[13]._y -= 40*5 + 10*5 + 20;
light_menu_open = false;
};
if (ather_menu_open) {
ather_menu_open = false;
};
type_of_obj = "chear";
partview(chear_items_x, chear_items_y, chear_items_src, arr_visible, chear_obj_flag, 23, chear_items_w, chear_items_h);
if (!chear_menu_open) {
menu_obj[12]._y += 40*5 + 10*5 + 20;
menu_obj[13]._y += 40*5 + 10*5 + 20;
menu_obj[6]._alpha = 100;
menu_obj[6].enabled = true;
menu_obj[6]._x = 530;
menu_obj[6]._y = 402;
menu_obj[7]._alpha = 100;
menu_obj[7].enabled = true;
menu_obj[7]._x = 450;
menu_obj[7]._y = 402;
menu_obj[14]._alpha = 100;
menu_obj[14].enabled = true;
menu_obj[14]._x = menu_obj[11]._x - 25;
menu_obj[14]._y = menu_obj[11]._y + 4;
};
chear_menu_open = true;
}
if (menu_obj_flag[12]) {
category = 5;
if (bed_menu_open) {
menu_obj[9]._y -= 40*5 + 10*5 + 20;
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
bed_menu_open = false;
};
if (table_menu_open) {
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
table_menu_open = false;
};
if (shkaf_menu_open) {
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
shkaf_menu_open = false;
};
if (chear_menu_open) {
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
chear_menu_open = false;
};
if (ather_menu_open) {
ather_menu_open = false;
};
type_of_obj = "light";
partview(light_items_x, light_items_y, light_items_src, arr_visible, table_obj_flag, 23, light_items_w, light_items_h);
if (!light_menu_open) {
menu_obj[13]._y += 40*5 + 10*5 + 20;
menu_obj[6]._alpha = 100;
menu_obj[6].enabled = true;
menu_obj[6]._x = 530;
menu_obj[6]._y = 437;
menu_obj[7]._alpha = 100;
menu_obj[7].enabled = true;
menu_obj[7]._x = 450;
menu_obj[7]._y = 437;
menu_obj[14]._alpha = 100;
menu_obj[14].enabled = true;
menu_obj[14]._x = menu_obj[12]._x - 25;
menu_obj[14]._y = menu_obj[12]._y + 4;
};
light_menu_open = true;
}
if (menu_obj_flag[13]) {
category = 6;
if (bed_menu_open) {
menu_obj[9]._y -= 40*5 + 10*5 + 20;
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
bed_menu_open = false;
};
if (table_menu_open) {
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
table_menu_open = false;
};
if (shkaf_menu_open) {
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
shkaf_menu_open = false;
};
if (chear_menu_open) {
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
chear_menu_open = false;
};
if (light_menu_open) {
menu_obj[13]._y -= 40*5 + 10*5 + 20;
light_menu_open = false;
};
type_of_obj = "ather";
partview(ather_items_x, ather_items_y, ather_items_src, arr_visible, ather_obj_flag, 23, ather_items_w, ather_items_h);
if (!ather_menu_open) {
menu_obj[6]._alpha = 100;
menu_obj[6].enabled = true;
menu_obj[6]._x = 530;
menu_obj[6]._y = 472;
menu_obj[7]._alpha = 100;
menu_obj[7].enabled = true;
menu_obj[7]._x = 450;
menu_obj[7]._y = 472;
menu_obj[14]._alpha = 100;
menu_obj[14].enabled = true;
menu_obj[14]._x = menu_obj[13]._x - 25;
menu_obj[14]._y = menu_obj[13]._y + 4;
};
ather_menu_open = true;
}
if (menu_obj_flag[14]) {
menu_obj[14]._alpha = 0;
menu_obj[14].enabled = false;
for (var n_i=1; n_i<=5;n_i++) {
arr_visible_i[n_i] = undefined;
arr_visible_w[n_i] = undefined;
arr_visible_h[n_i] = undefined;
};
if (bed_menu_open) {
menu_obj[9]._y -= 40*5 + 10*5 + 20;
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
for (var n_i = 1; n_i <=5; n_i++) {
arr_visible[n_i].removeMovieClip();
};
menu_obj[6]._alpha = 0;
menu_obj[6].enabled = false;
menu_obj[7]._alpha = 0;
menu_obj[7].enabled = false;
bed_menu_open = false;
};
if (table_menu_open) {
menu_obj[10]._y -= 40*5 + 10*5 + 20;
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
for (var n_i = 1; n_i <=5; n_i++) {
arr_visible[n_i].removeMovieClip();
};
menu_obj[6]._alpha = 0;
menu_obj[6].enabled = false;
menu_obj[7]._alpha = 0;
menu_obj[7].enabled = false;
table_menu_open = false;
};
if (shkaf_menu_open) {
menu_obj[11]._y -= 40*5 + 10*5 + 20;
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
for (var n_i = 1; n_i <=5; n_i++) {
arr_visible[n_i].removeMovieClip();
};
menu_obj[6]._alpha = 0;
menu_obj[6].enabled = false;
menu_obj[7]._alpha = 0;
menu_obj[7].enabled = false;
shkaf_menu_open = false;
};
if (chear_menu_open) {
menu_obj[12]._y -= 40*5 + 10*5 + 20;
menu_obj[13]._y -= 40*5 + 10*5 + 20;
for (var n_i = 1; n_i <=5; n_i++) {
arr_visible[n_i].removeMovieClip();
};
menu_obj[6]._alpha = 0;
menu_obj[6].enabled = false;
menu_obj[7]._alpha = 0;
menu_obj[7].enabled = false;
chear_menu_open = false;
};
if (light_menu_open) {
menu_obj[13]._y -= 40*5 + 10*5 + 20;
for (var n_i = 1; n_i <=5; n_i++) {
arr_visible[n_i].removeMovieClip();
};
menu_obj[6]._alpha = 0;
menu_obj[6].enabled = false;
menu_obj[7]._alpha = 0;
menu_obj[7].enabled = false;
light_menu_open = false;
};
if (ather_menu_open) {
for (var n_i = 1; n_i <=5; n_i++) {
arr_visible[n_i].removeMovieClip();
};
menu_obj[6]._alpha = 0;
menu_obj[6].enabled = false;
menu_obj[7]._alpha = 0;
menu_obj[7].enabled = false;
ather_menu_open = false;
};
}
if ((arr_visible_flag[1])&&(wall_created)) {
select_number = 1;
createobj(arr_visible_w, arr_visible_h);
};
if ((arr_visible_flag[2])&&(wall_created)) {
select_number = 2;
createobj(arr_visible_w, arr_visible_h);
};
if ((arr_visible_flag[3])&&(wall_created)) {
select_number = 3;
createobj(arr_visible_w, arr_visible_h);
};
if ((arr_visible_flag[4])&&(wall_created)) {
select_number = 4;
createobj(arr_visible_w, arr_visible_h);
};
if ((arr_visible_flag[5])&&(wall_created)) {
select_number = 5;
createobj(arr_visible_w, arr_visible_h);
};
}
};
_root.onMouseUp = function () {
x = _xmouse;
y = _ymouse;
//Если перетаскивается объект (select_flag), то данный фрагмент его отпускает
if ((selected_obj)&&(!rotate_obj)) {
_root["obj" + select_num]._alpha = 100;
trace(select_num)
_root["obj" + select_num].stopDrag();
arr_obj_x[select_num] = (_root["obj" + select_num]._x)/10 - wmin/10 - center_pole_x;
arr_obj_y[select_num] = (_root["obj" + select_num]._y)/10 - hmin/10 - center_pole_y;
obj_center_rot_x = _root["obj" + obj_on_pole]._x;
obj_center_rot_y = _root["obj" + obj_on_pole]._y;
testofhittrash();
trace(arr_obj_x[select_num]);
trace(arr_obj_y[select_num]);
selected_obj = false;
select_obj = false;
borderobj.clear();
};
if ((selected_obj)&&(rotate_obj)) {
obj_rotation_old = obj_rotation_old + obj_rotation;
if (obj_rotation_old >= 360) {
obj_rotation_old = obj_rotation_old - 360;
};
arr_rotation[select_num] = obj_rotation_old * 0.0173;
selected_obj = false;
select_obj = false;
rotate_obj = false;
borderobj.clear();
old_select_num = select_num;
};
if (select_flag) {
arr_p[select].stopDrag();
arr_coordx[select] = Math.floor((x + step/2)/step)*step;
arr_coordy[select] = Math.floor((y + step/2)/step)*step;
arr_p[select]._x = arr_coordx[select] - w_p/2;
arr_p[select]._y = arr_coordy[select] - h_p/2;
arr_coordx[select] = arr_p[select]._x + w_p/2;
arr_coordy[select] = arr_p[select]._y + h_p/2;
select_flag = false;
};
};
_root.onMouseMove = function () {
//При выделенной точке и перемещении курсора мыши перемещается сама
//точка, рамка выделения, а также перерисовываются линии, входящие в эту точку
if (select_obj) {
testofhit();
};
if ((selected_obj)&&(rotate_obj)) {
obj_rotation = (y_temp - _ymouse)/Math.PI*180 / 10;
borderobj._rotation = obj_rotation + obj_rotation_old;
_root["obj" + select_num]._rotation = obj_rotation + obj_rotation_old;
};
_root.menu_obj[1].onRollOver = function () {
menu_obj_flag[1] = true;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[2].onRollOver = function () {
menu_obj_flag[2] = true;
menu_obj_flag[1] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[3].onRollOver = function () {
menu_obj_flag[3] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[4].onRollOver = function () {
menu_obj_flag[4] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[5].onRollOver = function () {
menu_obj_flag[5] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[6].onRollOver = function () {
menu_obj_flag[6] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[7].onRollOver = function () {
menu_obj_flag[7] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[8].onRollOver = function () {
menu_obj_flag[8] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[9].onRollOver = function () {
menu_obj_flag[9] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[10].onRollOver = function () {
menu_obj_flag[10] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[11].onRollOver = function () {
menu_obj_flag[11] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[12].onRollOver = function () {
menu_obj_flag[12] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[13].onRollOver = function () {
menu_obj_flag[13] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[14].onRollOver = function () {
menu_obj_flag[14] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[15].onRollOver = function () {
menu_obj_flag[15] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[16].onRollOver = function () {
menu_obj_flag[16] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[17] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[17].onRollOver = function () {
menu_obj_flag[17] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[18] = false;
}
_root.menu_obj[18].onRollOver = function () {
menu_obj_flag[18] = true;
menu_obj_flag[1] = false;
menu_obj_flag[2] = false;
menu_obj_flag[3] = false;
menu_obj_flag[4] = false;
menu_obj_flag[5] = false;
menu_obj_flag[6] = false;
menu_obj_flag[7] = false;
menu_obj_flag[8] = false;
menu_obj_flag[9] = false;
menu_obj_flag[10] = false;
menu_obj_flag[11] = false;
menu_obj_flag[12] = false;
menu_obj_flag[13] = false;
menu_obj_flag[14] = false;
menu_obj_flag[15] = false;
menu_obj_flag[16] = false;
menu_obj_flag[17] = false;
}
//Флаги объектов(включение)
_root.arr_visible[1].onRollOver = function () {
arr_visible_flag[1] = true;
arr_visible_flag[2] = false;
arr_visible_flag[3] = false;
arr_visible_flag[4] = false;
arr_visible_flag[5] = false;
}
_root.arr_visible[2].onRollOver = function () {
arr_visible_flag[1] = false;
arr_visible_flag[2] = true;
arr_visible_flag[3] = false;
arr_visible_flag[4] = false;
arr_visible_flag[5] = false;
}
_root.arr_visible[3].onRollOver = function () {
arr_visible_flag[1] = false;
arr_visible_flag[2] = false;
arr_visible_flag[3] = true;
arr_visible_flag[4] = false;
arr_visible_flag[5] = false;
}
_root.arr_visible[4].onRollOver = function () {
arr_visible_flag[1] = false;
arr_visible_flag[2] = false;
arr_visible_flag[3] = false;
arr_visible_flag[4] = true;
arr_visible_flag[5] = false;
}
_root.arr_visible[5].onRollOver = function () {
arr_visible_flag[1] = false;
arr_visible_flag[2] = false;
arr_visible_flag[3] = false;
arr_visible_flag[4] = false;
arr_visible_flag[5] = true;
}
//Отслеживание выхода за пределы кнопки
_root.menu_obj[1].onRollOut = function () {
menu_obj_flag[1] = false;
}
_root.menu_obj[2].onRollOut = function () {
menu_obj_flag[2] = false;
}
_root.menu_obj[3].onRollOut = function () {
menu_obj_flag[3] = false;
}
_root.menu_obj[4].onRollOut = function () {
menu_obj_flag[4] = false;
}
_root.menu_obj[5].onRollOut = function () {
menu_obj_flag[5] = false;
}
_root.menu_obj[6].onRollOut = function () {
menu_obj_flag[6] = false;
}
_root.menu_obj[7].onRollOut = function () {
menu_obj_flag[7] = false;
}
_root.menu_obj[8].onRollOut = function () {
menu_obj_flag[8] = false;
}
_root.menu_obj[9].onRollOut = function () {
menu_obj_flag[9] = false;
}
_root.menu_obj[10].onRollOut = function () {
menu_obj_flag[10] = false;
}
_root.menu_obj[11].onRollOut = function () {
menu_obj_flag[11] = false;
}
_root.menu_obj[12].onRollOut = function () {
menu_obj_flag[12] = false;
}
_root.menu_obj[13].onRollOut = function () {
menu_obj_flag[13] = false;
}
_root.menu_obj[14].onRollOut = function () {
menu_obj_flag[14] = false;
}
_root.menu_obj[15].onRollOut = function () {
menu_obj_flag[15] = false;
}
_root.menu_obj[16].onRollOut = function () {
menu_obj_flag[16] = false;
}
_root.menu_obj[17].onRollOut = function () {
menu_obj_flag[17] = false;
}
_root.menu_obj[18].onRollOut = function () {
menu_obj_flag[18] = false;
}
//Флаги объектов (выключение)
_root.arr_visible[1].onRollOut = function () {
arr_visible_flag[1] = false;
}
_root.arr_visible[2].onRollOut = function () {
arr_visible_flag[2] = false;
}
_root.arr_visible[3].onRollOut = function () {
arr_visible_flag[3] = false;
}
_root.arr_visible[4].onRollOut = function () {
arr_visible_flag[4] = false;
}
_root.arr_visible[5].onRollOut = function () {
arr_visible_flag[5] = false;
}
//Если была нажата кнопка "Перетащить", то выделяется точка, и начинается перетаскивание
//с перересовкой линий, связанных с этой точкой
if (select_flag) {
borderlayer.clear();
x = _xmouse;
y = _ymouse;
arr_coordx[select] = Math.floor((x + step/2)/step)*step;
arr_coordy[select] = Math.floor((y + step/2)/step)*step;
if (select == 1) {
arr_coordx[i] = arr_coordx[1];
arr_coordy[i] = arr_coordy[1];
arr_p[select]._x = arr_coordx[select] - w_p/2;
arr_p[select]._y = arr_coordy[select] - h_p/2;
} else {
arr_p[select]._x = arr_coordx[select] - w_p/2;
arr_p[select]._y = arr_coordy[select] - h_p/2;
arr_coordx[select] = arr_p[select]._x + w_p/2;
arr_coordy[select] = arr_p[select]._y + h_p/2;
};
redrawline(select);
createborder(select, w_p, h_p);
};
};
//Функция для нахождения
function sortcoordofwall():Void {
max_wallcoordx = arr_wallcoordx[1];
min_wallcoordx = arr_wallcoordx[1];
max_wallcoordy = arr_wallcoordy[1];
min_wallcoordy = arr_wallcoordy[1];
for (var n_i = 1; n_i <= wall_i-1; n_i=n_i+1) {
//Нахождение максимумов
if (max_wallcoordx < arr_wallcoordx[n_i+1]) {
max_wallcoordx = arr_wallcoordx[n_i+1];
};
if (max_wallcoordy < arr_wallcoordy[n_i+1]) {
max_wallcoordy = arr_wallcoordy[n_i+1];
};
//Нахождение минимумов
if (min_wallcoordx > arr_wallcoordx[n_i+1]) {
min_wallcoordx = arr_wallcoordx[n_i+1];
};
if (min_wallcoordy > arr_wallcoordy[n_i+1]) {
min_wallcoordy = arr_wallcoordy[n_i+1];
};
};
};
//Функция заполнения массивов из данных XML;
function parsemenu(succ:Boolean):Void {
if (!succ) {
trace('Возникла ошибка при попытке загрузить xml');
}else {
// распечатываем наш объект с помощью двух вложенных циклов
for (var elem_num in menu._data) {
num = parseFloat(elem_num);
type_of_obj = menu._data[elem_num]['gr_name'];
if (type_of_obj == "menu") {
menu_flag = true;
unisersalPars(menu, 5, elem_num, menu_items, menu_items_src, menu_items_x, menu_items_y, menu_obj, menu_obj_flag);
menu_obj[1]._alpha = 50;
menu_obj[1].enabled = false;
menu_obj[2]._alpha = 100;
menu_obj[2].enabled = true;
menu_obj[3]._alpha = 50;
menu_obj[3].enabled = false;
menu_obj[4]._alpha = 50;
menu_obj[4].enabled = false;
menu_obj[5]._alpha = 100;
menu_obj[5].enabled = true;
menu_obj[6]._alpha = 0;
menu_obj[6].enabled = false;
menu_obj[7]._alpha = 0;
menu_obj[7].enabled = false;
menu_obj[14]._alpha = 0;
menu_obj[14].enabled = false;
menu_obj[15]._alpha = 50;
menu_obj[15].enabled = false;
menu_obj[16]._alpha = 50;
menu_obj[16].enabled = false;
menu_obj[17]._alpha = 50;
menu_obj[17].enabled = false;
menu_obj[18]._alpha = 50;
menu_obj[18].enabled = false;
};
};
flag_xml = true;
};
num = 0;
};
function parsebeds(succ:Boolean):Void {
if (!succ) {
trace('Возникла ошибка при попытке загрузить xml');
}else {
// распечатываем наш объект с помощью двух вложенных циклов
for (var elem_num in bed._data) {
num = parseFloat(elem_num);
type_of_obj = bed._data[elem_num]['gr_name'];
if (type_of_obj == "bed") {
n_beds = n_beds + 1;
light_flag = true;
unisersalPars(bed, 23, n_beds, bed_items, bed_items_src, bed_items_x, bed_items_y, bed_obj, bed_obj_flag, bed_items_w, bed_items_h);
};
};
flag_xml = true;
};
};
function parseshkaf(succ:Boolean):Void {
if (!succ) {
trace('Возникла ошибка при попытке загрузить xml');
}else {
// распечатываем наш объект с помощью двух вложенных циклов
for (var elem_num in shkaf._data) {
num = parseFloat(elem_num);
type_of_obj = shkaf._data[elem_num]['gr_name'];
if (type_of_obj == "shkaf") {
n_shkafs = n_shkafs + 1;
shkaf_flag = true;
unisersalPars(shkaf, 23, n_shkafs, shkaf_items, shkaf_items_src, shkaf_items_x, shkaf_items_y, shkaf_obj, shkaf_obj_flag, shkaf_items_w, shkaf_items_h);
};
};
flag_xml = true;
};
};
function parsechear(succ:Boolean):Void {
if (!succ) {
trace('Возникла ошибка при попытке загрузить xml');
}else {
// распечатываем наш объект с помощью двух вложенных циклов
for (var elem_num in chear._data) {
num = parseFloat(elem_num);
type_of_obj = chear._data[elem_num]['gr_name'];
if (type_of_obj == "chear") {
n_chears = n_chears + 1;
chear_flag = true;
unisersalPars(chear, 23, n_chears, chear_items, chear_items_src, chear_items_x, chear_items_y, chear_obj, chear_obj_flag, chear_items_w, chear_items_h);
};
};
flag_xml = true;
};
};
function parsetable(succ:Boolean):Void {
if (!succ) {
trace('Возникла ошибка при попытке загрузить xml');
}else {
// распечатываем наш объект с помощью двух вложенных циклов
for (var elem_num in table._data) {
num = parseFloat(elem_num);
type_of_obj = table._data[elem_num]['gr_name'];
if (type_of_obj == "tabel") {
n_tables = n_tables + 1;
table_flag = true;
unisersalPars(table, 23, n_tables, table_items, table_items_src, table_items_x, table_items_y, table_obj, table_obj_flag, table_items_w, table_items_h);
};
};
flag_xml = true;
};
};
function parselights(succ:Boolean):Void {
if (!succ) {
trace('Возникла ошибка при попытке загрузить xml');
}else {
// распечатываем наш объект с помощью двух вложенных циклов
for (var elem_num in light._data) {
num = parseFloat(elem_num);
type_of_obj = light._data[elem_num]['gr_name'];
if (type_of_obj == "light") {
n_lights = n_lights + 1;
light_flag = true;
unisersalPars(light, 23, n_lights, light_items, light_items_src, light_items_x, light_items_y, light_obj, light_obj_flag, light_items_w, light_items_h);
};
};
flag_xml = true;
};
};
function parseather(succ:Boolean):Void {
if (!succ) {
trace('Возникла ошибка при попытке загрузить xml');
}else {
// распечатываем наш объект с помощью двух вложенных циклов
for (var elem_num in ather._data) {
num = parseFloat(elem_num);
type_of_obj = ather._data[elem_num]['gr_name'];
if (type_of_obj == "ather") {
n_athers = n_athers + 1;
ather_flag = true;
unisersalPars(ather, 23, n_athers, ather_items, ather_items_src, ather_items_x, ather_items_y, ather_obj, ather_obj_flag, ather_items_w, ather_items_h);
};
};
flag_xml = true;
};
};
//Блок разбора базы(Универсальный парсер)
// in_k - величина смещения глубины(для того, чтобы мувики не попадали друг на друга)
// num_in - номер элемента(elem_num)
// type_in - тип элемента (меню, стол, стул, лампа)(menu_items)
// url_in - ссылка на картинку элемента(menu_items_src)
// x_in - координата х объекта(menu_items_x)
// y_in - координата y объекта(menu_items_y)
// obj_in - мувиклип, в котором содержиться объект(menu_obj)
// obj_flag - флаг объекта(menu_obj_flag)
function unisersalPars(in_xml:menuXml, in_k:Number, num_in:String, type_in:Array, url_in:Array, x_in:Array, y_in:Array, obj_in:Array, obj_flag:Array, w_in:Array, h_in:Array) {
for (var prop_num in in_xml._data[num_in]['items']) {
//Если имя параметра URL, то оно записывается в массив URL
if (in_xml._data[num_in]['items'][prop_num]['name'] == "url") {
url_in[num] = in_xml._data[num_in]['items'][prop_num]['description'];
flag_url = true;
}
//Если имя параметра X, то оно записывается в массив X
if (in_xml._data[num_in]['items'][prop_num]['name'] == "x") {
x_in[num] = in_xml._data[num_in]['items'][prop_num]['description'];
flag_x = true;
}
//Если имя параметра Y, то оно записывается в массив Y
if (in_xml._data[num_in]['items'][prop_num]['name'] == "y") {
y_in[num] = in_xml._data[num_in]['items'][prop_num]['description'];
flag_y = true;
}
//Если имя параметра W, то оно записывается в массив W
if (in_xml._data[num_in]['items'][prop_num]['name'] == "w") {
w_in[num] = in_xml._data[num_in]['items'][prop_num]['description'];
flag_w = true;
}
//Если имя параметра H, то оно записывается в массив H
if (in_xml._data[num_in]['items'][prop_num]['name'] == "h") {
h_in[num] = in_xml._data[num_in]['items'][prop_num]['description'];
flag_h = true;
}
if ((flag_url) && (flag_x) && (flag_y)) {
partview(x_in, y_in, url_in, obj_in, obj_flag, in_k);
};
};
};
//Функция частиного вывода объектов
function partview(x_in_i:Array, y_in_i:Array, url_in_i:Array, obj_in_i:Array, obj_flag_i:Array, in_k_i:Number, w_in_i:Array, h_in_i:Array) : Void {
if (type_of_obj == "menu") {
name = type_of_obj + num;
obj_in_i[num] = _root.createEmptyMovieClip(name, num+in_k_i);
loadMovie(url_in_i[num], obj_in_i[num]);
obj_in_i[num]._x = parseFloat(x_in_i[num]);
obj_in_i[num]._y = parseFloat(y_in_i[num]);
obj_flag_i[num] = false;
obj_in_i[num]._alpha = 100;
obj_in_i[num].enabled = false;
flag_url = false;
flag_x = false;
flag_y = false;
};
if (type_of_obj == "bed") {
if ((menu_obj_flag[8])&&(!bed_menu_open)) {
last_num = 0;
for (var n_i = 1; n_i <=5; n_i++) {
name = type_of_obj + n_i;
obj_in_i[n_i] = _root.createEmptyMovieClip(name, n_i+in_k_i);
loadMovie(url_in_i[n_beds - n_i + 1], obj_in_i[n_i]);
arr_visible_i[n_i] = n_beds - n_i + 1;
arr_visible_w[n_i] = w_in_i[n_beds - n_i + 1];
arr_visible_h[n_i] = h_in_i[n_beds - n_i + 1];
if (last_num == 0) {
obj_in_i[n_i]._y = menu_obj[8]._y + 10 + last_num*40 + 30;
obj_in_i[n_i]._x = parseFloat(x_in_i[n_beds - n_i + 1]);
} else {
obj_in_i[n_i]._y = menu_obj[8]._y + 10 + last_num*40 + 30 + last_num*10;
obj_in_i[n_i]._x = parseFloat(x_in_i[n_beds - n_i + 1]);
};
if ((x_in_i[n_beds - n_i] != 0)&&(last_num <n_beds - 5)) {
last_num += 1;
};
obj_flag_i[n_i] = false;
obj_in_i[n_i]._alpha = 100;
obj_in_i[n_i].enabled = true;
};
};
if ((menu_obj_flag[6])&&(bed_menu_open)&&(last_num < n_beds)) {
var buf_last = last_num;
for (var n_i = 1; n_i <=5; n_i++) {
if (url_in_i[n_beds - n_i + 1] != undefined) {
loadMovie(url_in_i[n_beds - (n_i + buf_last) + 1], obj_in_i[n_i]);
arr_visible_i[n_i] = n_beds - (n_i + buf_last) + 1;
arr_visible_w[n_i] = w_in_i[n_beds - (n_i + buf_last) + 1];
arr_visible_h[n_i] = h_in_i[n_beds - (n_i + buf_last) + 1];
}
if ((x_in_i[n_beds - (n_i + buf_last) + 1] != 0)&&(last_num <n_beds)) {
last_num += 1;
};
obj_flag_i[n_i] = false;
};
};
if ((menu_obj_flag[7])&&(bed_menu_open)&&(last_num > 1)) {
var buf_last = last_num;
for (var n_i = 1; n_i <=5; n_i++) {
if (url_in_i[n_beds - n_i + 1] != undefined) {
loadMovie(url_in_i[n_beds - (buf_last - n_i)], obj_in_i[Math.abs(n_i-6)]);
arr_visible_i[Math.abs(n_i-6)] = n_beds - (buf_last - n_i);
arr_visible_w[Math.abs(n_i-6)] = w_in_i[n_beds - (buf_last - n_i)];
arr_visible_h[Math.abs(n_i-6)] = h_in_i[n_beds - (buf_last - n_i)];
}
if ((x_in_i[n_tables - (buf_last - n_i)] != 0)&&(last_num <= n_beds)) {
last_num -= 1;
};
obj_flag_i[n_i] = false;
};
};
flag_url = false;
flag_x = false;
flag_y = false;
};
if (type_of_obj == "tabel") {
if ((menu_obj_flag[9])&&(!table_menu_open)) {
last_num = 0;
for (var n_i = 1; n_i <=5; n_i++) {
name = type_of_obj + n_i;
obj_in_i[n_i] = _root.createEmptyMovieClip(name, n_i+in_k_i);
loadMovie(url_in_i[n_tables - n_i + 1], obj_in_i[n_i]);
arr_visible_i[n_i] = n_tables - n_i + 1;
arr_visible_w[n_i] = w_in_i[n_tables - n_i + 1];
arr_visible_h[n_i] = h_in_i[n_tables - n_i + 1];
if (last_num == 0) {
obj_in_i[n_i]._y = menu_obj[9]._y + 10 + last_num*40 + 30;
obj_in_i[n_i]._x = parseFloat(x_in_i[n_tables - n_i + 1]);
} else {
obj_in_i[n_i]._y = menu_obj[9]._y + 10 + last_num*40 + 30 + last_num*10;
obj_in_i[n_i]._x = parseFloat(x_in_i[n_tables - n_i + 1]);
};
if ((x_in_i[n_tables - n_i] != 0)&&(last_num <n_tables - 5)) {
last_num += 1;
};
obj_flag_i[n_i] = false;
obj_in_i[n_i]._alpha = 100;
obj_in_i[n_i].enabled = true;
};
};
if ((menu_obj_flag[6])&&(table_menu_open)&&(last_num < n_tables)) {
var buf_last = last_num;
for (var n_i = 1; n_i <=5; n_i++) {
if (url_in_i[n_tables - n_i + 1] != undefined) {
loadMovie(url_in_i[n_tables - (n_i + buf_last) + 1], obj_in_i[n_i]);
arr_visible_i[n_i] = n_tables - (n_i + buf_last) + 1;
Подобные документы
Разработка способа экономного размещения в памяти заданной разреженной таблицы. Разработка процедуры/функции, обеспечивающей доступ к элементам таблицы по номерам строки и имени столбца. Хронометраж выполнения операций чтения и записи элементов в массивы.
лабораторная работа [678,8 K], добавлен 22.12.2011
Использование электронной таблицы как базы данных. Сортировка и фильтрация данных в Microsoft Excel 97. Сортировка - это упорядочение данных по возрастанию или по убыванию. При фильтрации базы отображаются только записи, обладающие нужными свойствами.
реферат [6,6 K], добавлен 17.11.2002
Системный анализ и анализ требований. Концептуальная модель данных. Проектирование логической структуры реляционной базы данных. Даталогическая модель базы данных. Алгоритмы реализации модулей и их реализация (запросы, таблицы, формы, отчеты, макросы).
курсовая работа [1,6 M], добавлен 17.12.2015
Широкое использование компьютерных и информационных технологий. Концепции типов данных. Алгоритмы сортировки одномерных массивов. Описание двумерного массива Паскаля. Методы доступа к элементам массивов. Индексные, динамические и гетерогенные массивы.
курсовая работа [66,3 K], добавлен 07.12.2010
Структура таблицы и типы данных. Ввод данных в ячейки таблицы. Создание запросов на выборку, удаление, обновление и добавление записей, на создание таблицы. Основное различие между отчетами и формами, их назначение. Создание отчетов для базы данных.
курсовая работа [1,9 M], добавлен 17.06.2014
Анализ предметной области. Сравнительный анализ систем визуализации трёхмерных объектов. Обоснование выбора среды программирования. Разработка базы данных. Архитектура программного продукта. Алгоритм шифрования Blowfish с обратной связью по шифр-тексту.
дипломная работа [5,3 M], добавлен 22.11.2015
Выбор средств методологии проектирования базы данных, требования к ее функциональности и возможностям. Выделение информационных объектов и их атрибутов, определение отношений и мощности отношений между объектами. Разработка интерфейса и права доступа.
курсовая работа [658,1 K], добавлен 03.06.2015
Создание реляционной базы данных, запросов, форм и отчетов по БД "Компьютеры", "Таблицы". Создание базы данных, объектов, заполнение таблиц данными, выполнение схемы. Справочно-правовая система "Консультант Плюс". Информационные массивы, разделы и банки.
контрольная работа [4,3 M], добавлен 21.10.2009
Описание предметной области, определение функциональных требований к системе и построение диаграммы потока данных. Построение модели "сущность-связь", описание сущностей и атрибутов модели. Построение реляционной базы данных и описание ее таблицы.
курсовая работа [624,5 K], добавлен 30.05.2019
Программа перенесения данных из таблицы Word в таблицу базы данных. Алгоритм решения задачи в виде текстового описания. Описание базы данных (структура таблиц, схема). Копии с экрана форм для работы с базой данных при разработке их в конструкторе.
контрольная работа [914,3 K], добавлен 26.03.2011