Сделано для здания склада SKLAD617.
В качестве 3d движка использована ThreeJS.
Сделано для здания склада SKLAD617.
В качестве 3d движка использована ThreeJS.
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
Пока псевдо 3д. :) Можно крутить слои мышкой и переворачивать за центральные кубики. Также работает и на мобильных девайсах. Можно крутить слои кнопками r - по часовой правая, R - против часовой правая и по аналогии остальные, l/L, u/U, d/D, f/F, b/B, m/M, s/S, e/E, x/X, z/Z, y/Y. Есть развертка кубика. Можно выполнять алгоритмы. Формат записи любой(d и Dw). Автоматическая инверсия алгоритма. OLL, PLL, F2L, OLL OH. OLL OH взято с © Kchiuk. Все это постепенно дополняется и дорабатывается. Вторая версия выйдет в нормальной проекции в 3д.
2 | 5 | 4 | 6 |
1 | 13 | 11 | 3 |
14 | 12 | 7 | 10 |
8 | 15 | 9 | 0 |
Есть выпадающий список, в котором НЕ установленны некоторые значения 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, мне показалось, что в нем содержутся некие излишние данные в виде повторяющихся ключей в массивах значений. В этой редакции добавленна возможность устанавливать отдельно ключи, отдельно данные в обычных, а не ассоциативных массивах. Что позволяет существенно уменьшить объем передаваемого с серверной стороны кода.
В продолжение темы темплейтов вот пример того как можно использовать технологию шаблонов в JavaScript, на стороне клиента.
setCookie(key, val, time); | Установка cookie key = val на время time дней |
getCookie(name); | Получает значение cookie name |
RegExp - регулярные выражения. Подробнее читаем в wiki или еще здесь
<link href="file.css" type=text/css rel=stylesheet >
Коментарии собсно, в коде.