- •1 Постановка задачи и определение требований
- •Выводы по разделу один
- •2 Обзор существующих реализаций и описание основных преимуществ выбранной реализации перед аналогами
- •1.2.1 Обзор существующих реализаций
- •Выводы по разделу два Таким образом, наилучшем выбором платформы для разработки является Flash.
- •3 Выбор инструментальных средств разработки
- •4.1 Исследование технологий 3d-рендеринга на платформе Adobe Flash
- •5 Архитектура программного комплекса
- •5.1 Алгоритмические особенности программного комплекса
- •5.1.1 Анализ поставленной задачи
- •5.2 Алгоритм функционирования программного комплекса
- •5.2.1 Обобщенный алгоритм работы комплекса
- •5.2.2 Загрузка объектов в 3d-среду
- •5.2.3 Отрисовка 3d-мира
- •5.2.4 Обработка команд пользователя
- •5.2.5 Описание технологий. Binary Space Partitioning (bsp) дерево
- •5.2.6 Отсечение (клиппинг)
- •5.3 Варианты дальнейшего развития программного комплекса
- •5.4. Функциональные особенности программного комплекса
- •5.4.1 Концепция функционирования программного комплекса
- •6.2 Требования к содержимому тестов
- •6.3 Пример работы программного комплекса
- •7 ТехнологическАя часть
- •Программный комплекс соответствует технологическим нормам.
- •8 Организационно-экономический раздел
- •8.1 Смета затрат на проведение работ
- •8.2 Командировочные расходы
- •8.3 Заработная плата
- •Продолжение таблицы 8.9
- •8.4 Покупные изделия
- •8.5 Накладные расходы
- •8.6 Смета затрат
- •9 Раздел безопасности жизнедеятельности
- •9.1 Анализ достоинств интерфейса пользователя разработанной программы
- •9.2 Рекомендации по организации рабочего места пользователя
- •9.2.1 Рекомендации по выбору помещения для размещения рабочего места
- •9.2.2 Требования к микроклимату, содержанию аэроионов и вредных химических веществ в воздухе на рабочих местах, оборудованных пэвм
- •9.2.3 Требования к уровням шума и вибрации на рабочих местах, оборудованных пэвм
- •9.2.4 Требования к освещению на рабочих местах, оборудованных пэвм
- •9.2.5 Требования к уровням электромагнитных полей на рабочих местах, оборудованных пэвм
- •9.2.6 Общие требования к организации рабочих мест пользователей пэвм
- •9.2.7 Требования к организации и оборудованию рабочих мест с пэвм для обучающихся в общеобразовательных учреждениях и учреждениях начального и высшего профессионального образования
- •9.3 Электробезопасность
- •9.4 Пожарная безопасность
- •Библиографический список
- •Приложение а
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
Продолжение приложение а Продолжение листинга а.1
private var prevY:int;
private var prevZ:int;
private var curX:int;
private var curY:int;
private var curZ:int;
[Embed(source="textures/info13.jpg")] private static const bmpLogo:Class;
private static const stend:BitmapData = new bmpLogo().bitmapData;
private var logo:Bitmap = new Bitmap(stend);
private var logoVisible:Boolean = false;
private var videoTexture:VideoMaterial = new VideoMaterial ("LVV_802.flv");
private var videoPlane:Plane = new Plane(200, 150);
////////// Buttons ////////////
private var infoButton:Button = new Button();
private var closeInfoButton:Button = new Button();
private var videoButton:Button = new Button();
//////// TEXTES ///////////
private var gb:int;
private var aud802text:String;
private var aud804text:String;
private var loader:URLLoader;
private var scrollBar:UIScrollBar = new UIScrollBar();
Продолжение приложение а Продолжение листинга а.1
///////// CONTROLLER /////////////
private var collider:EllipsoidCollider;
private var isLeft:Boolean;
private var isRight:Boolean;
private var isUp:Boolean;
private var isDown:Boolean;
private var gravity:Number = -5;
private var onGround:Boolean;
private var verticalSpeed:Number = 0;
public function dept() {
initCamera();
initVideo();
initTextes();
initButtons();
// Загрузка моделей
var loader3ds:URLLoader = new URLLoader();
loader3ds.dataFormat = URLLoaderDataFormat.BINARY;
loader3ds.load(new URLRequest("deptonline_v0.60.3DS"));
loader3ds.addEventListener(Event.COMPLETE, on3dsLoad);
// Режим отладки
camera.addToDebug(Debug.EDGES, Object3D);
camera.addToDebug(Debug.BOUNDS, Object3D);
// Подписка на события
stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
stage.addEventListener(Event.RESIZE, onResize);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
Продолжение приложение а Продолжение листинга а.1
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
}
private function initTextes():void{
//Text
myTextField.border = true;
myTextField.borderColor = 0xFFFFFF;
myTextField.textColor = 0xFFFFFF;
myTextField.visible = false;
audInfo.textColor = 0x333333;
audInfo.visible = false;
audInfo.backgroundColor = 0xFAFAFA;
audInfo.background = true;
audInfo.multiline = true;
audInfo.wordWrap = true;
audInfo.mouseEnabled = true;
audInfoBack.border = true;
audInfoBack.borderColor = 0x333333;
audInfoBack.backgroundColor = 0xFAFAFA;
audInfoBack.background = true;
audInfoBack.visible = false;
// Size it to match the text field.
scrollBar.setSize(audInfo.width, audInfo.height);
scrollBar.move(audInfo.x + audInfo.width + 5, audInfo.y);
scrollBar.visible = false;
//myTextField.text = " Sample text. ";
Продолжение приложение а Продолжение листинга а.1
addChild(audInfoBack);
addChild(audInfo);
addChild(textInfoField);
addChild(scrollBar);
//addChild(myTextField);
}
private function initButtons():void{
infoButton.label = "Информация об аудитории";
infoButton.width = 200;
infoButton.move(570, 30);
infoButton.visible = false;
addChild(infoButton);
videoButton.label = "Видео об аудитории";
videoButton.width = 200;
videoButton.move(570, 60);
videoButton.visible = false;
addChild(videoButton);
closeInfoButton.label = "Закрыть";
closeInfoButton.width = 100;
closeInfoButton.move(620, 505);
closeInfoButton.visible = false;
addChild(closeInfoButton);
videoButton.addEventListener(MouseEvent.CLICK, createImgButton);
infoButton.addEventListener(MouseEvent.CLICK, showAudInfo);