Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






JavaScript. JavaScript — назва реалізації стандарту мови програмування ECMAScript компанії Netscape, базується на принципах прототипного програмування






JavaScript — назва реалізації стандарту мови програмування ECMAScript компанії Netscape, базується на принципах прототипного програмування. Найпоширеніше і найвідоміше застосування мови — написання сценаріїв для веб-сторінок, але, також, використовується для впровадження сценаріїв керування об’єктами вбудованими в інші програми.

Незважаючи на схожість назв, JavaScript та мова програмування Java мають дуже мало спільного. Права на назву Java належать компанії Sun Microsystems.

JavaScript розроблений у компанії Netscape. На сьогоднішній день підтримується більшістю браузерів. Текст програми включається безпосередньо в HTML-документ і інтерпретується самим браузером (точніше, вбудованим у браузер рушієм JavaScript). Застосовується в основному для часткової автоматизації обробки і маніпуляції даними, які використовує сторінка.

Станом на 2006 рік, останній стандарт мови — JavaScript 1.7. Якщо спрощено, то ECMA-262 є стандартизованим варіантом мови JavaScript. Стандартом ECMA-357 визначено E4X, розширення мови для роботи з XML.

JavaScript має низку властивостей об’єктно-орієнтованої мови, але завдяки концепції прототипів підтримка об’єктів в ній відрізняється від традиційних мов ООП. Крім того, JavaScript має ряд властивостей, притаманних функціональним мовам, — функції як об’єкти першого рівня, об’єкти як списки, каррінг (currying), анонімні функції, замикання (closures) — що додає мові додаткову гнучкість.

 

 

JavaScript має C-подібний синтаксис, але в порівнянні з мовою Сі має такі корінні відмінності:

- об’єкти, з можливістю інтроспекції і динамічної зміни типу через механізм прототипів

- функції як об’єкти першого класу

- обробка винятків

- автоматичне приведення типів

- автоматичне прибирання сміття

- анонімні функції

JavaScript містить декілька вбудованих об’єктів: Global, Object, Error, Function, Array, String, Boolean, Number, Math, Date, RegExp. Крім того, JavaScript містить набір вбудованих операцій, які, строго кажучи, не обов’язково є функціями або методами, а також набір вбудованих операторів, що управляють логікою виконання програм. Синтаксис JavaScript в основному відповідає синтаксису мови Java (тобто, зрештою, успадкований від C), але спрощений порівняно з ним, щоб зробити мову сценаріїв легкою для вивчення. Так, приміром, декларація змінної не містить її типу, властивості також не мають типів, а декларація функції може стояти в тексті програми після неї

 

 

Семантика мови схожа з семантикою мови Self.

Приклад оголошення і використання класу в JavaScript (клас є одночасно функцією, оскільки функції — це об’єкти першого рівня):

JОдна з популярних технологій, що дозволила зробити сторінки динамічнішими і забезпечити нові можливості — це динамічне завантаження і вставка даних в документ, що отримала назву AJAX. При розробці великих і нетривіальних веб-застосунків з використанням JavaScript, критично важливим є доступ до інструментів зневадження. Оскільки браузери від різних виробників дещо відрізняються у поведінці JavaScript і реалізації Об'єктної Моделі Документа, треба мати в руках зневаджувач для кожного браузера, якщо веб-застосування орієнтовано на нього.

На даний час Internet Explorer, Firefox, Opera, Google Chrome та Safari мають зневаджувачі для себе.

Internet Explorer має три звеваджувача для себе: Microsoft Visual Studio є найпотужнішим з цих трьох, слідом йде Microsoft Script Editor (компонента Microsoft Office), і нарешті існує безплатний Microsoft Script Debugger з базовими функціями. Веб-застосування для Firefox допоможе привести до розуму додаток Firebug (зручно вбудований безпосередньо в браузер), або давніший відладчик Venkman, котрий також працює з браузером Mozilla. Drosera — це зневаджувач з WebKit engine, що супроводжує Apple Safari.

 

 

Також існують кілька інструментів, як вільних, наприклад JSLint, інструмент перевірки якості коду, що сканує JavaScript програму, шукаючи проблеми коду, так і комерційних продуктів типу інструменту з назвою JavaScript Debugger.

Оскільки JavaScript є інтерпретатором, без строгої типізації, і може виконуватися в різних середовищах, кожне зі своїми власними особливостями сумісності, програміст має бути дуже уважним, і повинен перевіряти, що його код виконується як очікується в широкому переліку можливих конфігурацій. Дуже часто трапляються випадки, коли скрипт, що чудово працює в одному середовищі, видає некоректні результати в іншому.

Кожен блок сценарію інтерпретатор розбирає окремо. На веб-сторінках, коли треба комбінувати блоки JavaScript та HTML, синтаксичні помилки найти легше, якщо тримати функції сценарію в окремому блоці коду, або (ще краще) використовувати багато малих пов’язаних.js файлів. В такий спосіб синтаксична помилка не спричинятиме «падіння» цілої сторінки, і можна надати допомогу, елегантно вийшовши зі сторінки.

Реальний звіт про використання JavaScript в браузерах свідчить, що

- біля 90 % користувачів мають встановленим JavaScript версії 1.3,

- близько 4 % — версію 1.0,

- близько 3.5 % — версію 1.5,

- близько 2.5 % — версію 1.6,

- решта версій зустрічається в долях відсотка (джерело — spylog.ru на січень 2008).

 

 

3 Розрахунковий розділ

3.1 Скриптування та аналіз об’єктів програми

Оптимизация

Прграмма «Віртуальна екскурсія по ОККТ» дуже велика

Всі 3 поверхи заставлені об'єктами що знижують FPS до 20, що робить неприйнятним перегляд на слабких комп'ютерах, для підвищення FPS проект розділений на 3 локації, такі як:

- Перший поверх та вулиця

- Другий поверх

- Третій поверх

Для оптимізації на слабких комп'ютерах було вирішено використовувати мінімальні системні ресурси, але підвищити якість текстур. (див рис 5)

(Рис 5)

 

Unity 3d - Програмування С #

У Unity є вбудований редактор коду, що підсвічує і доповнює синтаксис, називається він MonoDevelop (див. рис.6):

(Рис 6) – Програмування

Скрипти програми

using UnityEngine; // Використовуемо бібліотеку UnityEngine

using System.Collections; // Використовуемо бібліотеку System.Collections

public class Load1lvlbox: MonoBehaviour { // створюємо клас Load1lvlbox

public Texture2D LoadScreen; // змінна для екрану завантаження типу 2D текстура

private Rect rect1; // зміна системи координат

bool showimage = false; // чекбокс показати\сховати картинку

 

 

void Start () { // При старяті программи задати у центр екрана, картинку завантаження.

rect1 = new Rect((Screen.width/2) - (LoadScreen.width/2), (Screen.height/2) - (LoadScreen.height/2), LoadScreen.width, LoadScreen.height);

}

public GameObject ExitPoint; // Обєкт на сцені, куди телепортувати гравця після завантаження.

void OnTriggerEnter(Collider other) { // перевіряемо чи зіткнувся гравець з предметом

showimage = true; // показуємо екран зупуска

other.gameObject.transform.position = ExitPoint.transform.position; // перенести гравця на координати другої сцени

Application.LoadLevel (1); // завантаження сцени 2

// showimage = false; // не показувати стартовий екран

}

void OnGUI () // розмальовка екрану

{

if (showimage == true) { // якщо чекбокс включено малюемо запусковий екран.

GUI.Label(rect1, LoadScreen);

}

 

 

Зміна камеры:

using UnityEngine; // Використовуемо бібліотеку UnityEngine

using System.Collections; // Використовуемо бібліотеку System.Collections

public class SwitchCamera: MonoBehaviour

// Використовуемо загальнодоступний клас SwitchCamera

{

int stadia = 1; // вираховуемо змінну запам’ятовуемо натиснута клавіша С або ні

void Start() // Дія при запуску скрипта, скрипт знаходиться на сцені, а це означає щр призапуску проекту буде автоматично використати код приведений нижче

{

Screen.showCursor = false; // прибираемо курсор з екрану

Screen.lockCursor = true; // блокуємо курсор у центрі екрану

}

void Update () // перевіряемо кожний кадр

{

if(Input.GetKeyUp(" c"))//Якщо нажата клавіша 'c' то:

{

switch(stadia) // Конструкція switch

 

 

{

case 1: // Якщо stadia = 1, то:

Screen.showCursor = false; // прибираємо курсор

Screen.lockCursor = true; // блокуемо курсор в центрі єкрану

stadia = 2; // переходим на наступну стадію

break; // переріваємо виконання коду

case 2: // Якщоstadia = 2, то:

stadia = 1; // Повертаємо стадію у початкове положення

break; // перериваємо витконаня з перемінною коду

}

void OnGUI () малюємо на екрані координ Rect.

{

GUI.Label(new Rect(10, 10, 300, 30), " керування: ");

GUI.Label(new Rect(10, 40, 300, 30), " < C> - блокувати\роблокувати курсор");

GUI.Label(new Rect(10, 70, 300, 30), " < W A S D> - рух");

GUI.Label(new Rect(10, 100, 300, 30), " < ПКМ> - інформація");

}

 

 

Для коректної роботи програми на комп'ютерах користувачів повинен бути встановлений браузер (IE. Опера, Google chrome, Mozila FireFox і т. д.), Unity web player.

Після установки Unity web player, на екрані користувачів з'явиться завантажувальний екран Unity.

(Рис 7) завантажувальний екран Unity

Після завантаження програми, ми побачимо стартову сцену, на якій можна ознайомитися з управлінням в лівому верхньому кутку екрану.

На цій сцені ми можемо почати віртуальну екскурсію по Одеському коледжі комп’ютерних технологій при натисканні на кнопку «Почати екскурсію»

 

Після натискання кнопки «Почати екскурсію», користувач починає свою екскурсію з входу Одеському коледжі комп’ютерних технологій. Для огляду вашого персонажа використовуйте маніпулятор миша, для пересування по місцевості використовуйте клавіші: W - для пересування персонажа вперед, A - для пересування персонажа вліво, S - для пересування персонажа назад, D - для пересування персонажа вправо.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.