![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2013
Сообщений: 12
|
Здравия! есть задача реализовать конструктор, для расчета материалов для дверей, наподобии вот этого:
http://artcupe.md/designer - это не на флэше http://myconstructor.ru/ - это на флэше. (нужно зайти в раздел - "дверей-купе") Меня несколько, озадачил вопрос как реализовать разделители! (это в указанных примерах 2 кнопки - верикальная и горизонтальная перегородки) Т.е. какие использовать для этого объекты, свойства... ничего путного для реализации подобной задачи в интернете не нашел. Я сделал простой макет с двумя MovieClip которые хочу разделить по вертикали и горизонтали как в примерах, но не могу нарыть саму идею реализации... Буду признателен за добрый совет! package { import flash.display.MovieClip; import flash.display.Sprite; import flash.display.DisplayObject; import flash.events.Event; import flash.events.MouseEvent; import flash.ui.Mouse; import flash.ui.MouseCursor; public class MODUL extends MovieClip { public function MODUL() { // constructor code var _WP:Number = 2500; // Ширина проема var _HP:Number = 2000; // Высота проема var _WD:Number = 0; // Ширина двери var _HD:Number = 0; // Высота двери var _WZ:Number = 20; // Замер профиля var _HZ:Number = 20; // Замер профиля var _KOL_D:Number = 2; // Количество дверей var _KOL_P:Number = 1; // Количество перекрытий var _KOEFFICIENT:Number = 7; // Коэффициент для подгона в экран var _color_fon:uint = 0x747714; // Цвет фона var _color_line:uint = 0x740000; // Цвет линии var zdvig_h:Number = 40; // Здвиг по отношению к началу координат var zdvig_w:Number = 40; // Здвиг по отношению к началу координат var _KW = Math.ceil(_WP / 700); var _KH = Math.ceil(_HP / 450); if (_KH <= _KW) {_KOEFFICIENT = _KW} else {_KOEFFICIENT = _KH}; trace(" _KW "+_KW+" _KH "+_KH +"_KOEFFICIENT "+_KOEFFICIENT); _WP = (_WP / _KOEFFICIENT); _HP = (_HP / _KOEFFICIENT); _WZ = (_WZ / _KOEFFICIENT); _HZ = (_HZ / _KOEFFICIENT); F_Fon(zdvig_w, zdvig_h,_WP,_HP,_color_fon); zdvig_w = 45; zdvig_h = 45 + _HZ; var i:int; for (i = 0; i < _KOL_D; i++) { zdvig_w = zdvig_w + _WD * (i) + _WZ; zdvig_h = zdvig_h; _WD = _WP/_KOL_D - _WZ*2; _HD = _HP - _HZ; // - _ZAMER*2; _color_fon = 0xf08d0d; //e6e3d3; //740000; F_Sekcia(zdvig_w, zdvig_h,_WD,_HD,_color_fon); } } public function F_Fon(zdvig_w:Number=40, zdvig_h:Number=40, _w:Number=88888, _h:Number=55555, _color:uint=0xffffff) { graphics.beginFill(_color); graphics.drawRect(zdvig_w,zdvig_h,_w,_h); graphics.endFill(); } public function F_Sekcia(zdvig_w:Number=40, zdvig_h:Number=40, _w:Number=88888, _h:Number=55555, _color:uint=0xffffff, _color_line:uint=0x750000) { //var mc:MovieClip = new MovieClip(); var mc:Sprite = new Sprite(); mc.graphics.beginFill(_color); mc.graphics.lineStyle(0.5,_color_line); // , _color_line mc.graphics.drawRect(zdvig_w,zdvig_h,_w,_h); mc.graphics.endFill(); addChild(mc); //mc.addEventListener(MouseEvent.MOUSE_OVER, curOn); //mc.addEventListener(MouseEvent.MOUSE_OUT, curOff); } } } |
![]() |
Часовой пояс GMT +4, время: 22:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|