Практически полноценный игровой движок )) на JavaScript
todo:AABB colision control
Added "walking" effect and jump (key 'space')(stop time - key 'x')
Added Walk mode/Fly mode for Person Control (key 'f')
Added Clouds & Fog
Added direct light (sun light emulation)
Added Alien (fishAI)
Change weather-source to https://openweathermap.org/
Added ParticleText class & particle message function
Added Fireplace
Added Cat (kbugAI)
Remake kbugAI with terrain height
Added terrain height function
Added water shaders
Added list of entities (key 'E')
Added Tree & eTree
Added Fish & fishAI
Added Lake
Added Ground plane modificator
*/
/* TO DO:
COYW
User Interface
First Person Control *
Fly Person Control *
Wheather * (snow, rain, clear)
Sun/Moon controller & Season controller
Physics controller *
Path finding
Constructor
AI Controller (https://codepen.io/uggway/pen/MpKPQG) *
Animals & Insects (bee, worm, etc) * (https://codepen.io/uggway/pen/MpKPQG)
Particle Engine *
Entity * (https://codepen.io/uggway/pen/mWVzRy)
Grass generator * (https://codepen.io/uggway/pen/jBWQwQ)
Stone generator * (...)
Mesh generator * (...)
Procedural texture generator * (...)
Landscape generator
Buildings generator
Mesh modificators
Portals *
Local Server (Local World Container)
Server
Peer Connection
Signal server
Text chat
Video chat
Video stream
Destruction mesh
Есть выпадающий список, в котором НЕ установленны некоторые значения value у option:
<select id = 'selectID' onchange='selectOnChange()'>
<option value='val1'>option1</option>
<option>option2</option>
<option>option3</option>
</select>
Для получения выбранного значения select устанавливаем обработчик события onchange. Для opera и firefox, можно воспользоваться значением value самого select-а, а вот IE "радует" нас в очередной раз и выбранное зачение можно получить только обратившись к таковому в массив options по индексу selectedIndex. При установленных значениях value в option в IE также можно получить значение из value самого select-a
Попользовав шаблонизатор для JavaScript, мне показалось, что в нем содержутся некие излишние данные в виде повторяющихся ключей в массивах значений. В этой редакции добавленна возможность устанавливать отдельно ключи, отдельно данные в обычных, а не ассоциативных массивах. Что позволяет существенно уменьшить объем передаваемого с серверной стороны кода.
В ситуациях, когда необходимо вычислить высоту элемента (либо ширину), можно воспользоваться свойством clientHeight. Во всех браузерах, кроме естественно IE, мы получим высоту элемента. А в IE мы получим '0px'. (Как всегда у него все через Ж...).
Статья о создании графики средствами JavaScript. В статье разбирается применение протокола data URI для создания графики. Динамическая генерация изображений. А именно BMP файла. На примере эффекта огня и вращающегося 3d куба показана реализация анимированной графики. С прицелом на эффекты и технологии демо дизайна: 3d кубик, блюр, огонь, линии.
НЕ РАБОТАЕТ в Intrnet Explorer. Но увидеть конечный результат можно и в нем.
Статья о создании аналога известного флеш-скрипта "Облако тегов в виде шара". Здесь создается аналогичный функционал на на JavaScript. Описываются расчеты координат сферы и поворот относительно центра в 3d.