Последние новости

Новые статьи

Изометрия - о реализации

GameDev  изометрия, javascript

Этим летом решил уделить немного времени на изометрическую проекцию и попробовать сделать свой велосипед.

Первое что пришло в голову - генерировать тайлы из выбранной текстурки, накладывая ее на стороны тайла программно, на подобии штуки Magatino для изо-майнкрафта. Деформация делается достаточно просто.

  1. function createTile(img) {
  2.     //создаем канвас размером с тайлик
  3.     var isometric = document.createElement("canvas");
  4.     isometric.width = img.width * 2;
  5.     isometric.height = img.height * 2;
  6.     var g = isometric.getContext("2d"); //косплей j2me
  7.  
  8.     g.setTransform(1, -0.5, 1, 0.5, 0, img.height/2);
  9.     g.drawImage(img, -1, 0, img.width+1, img.height+1); //верхняя часть блока
  10.  
  11.     //раскомментировать в 2020-ом
  12.     //g.filter = "brightness(75%)";
  13.     var

Продолжить

Рейтинг:  15  (За: 15 | Против: 0)
Добавлено: 30.09.2016 от RblSb

Комментарии (16)

VFS. Виртуальная файловая система. Часть 2

Linux  файловые системы

VFS. Виртуальная файловая система. Часть 1
dentryКак уже говорил, что каталоги представляются так же, как и файлы. В имени пути /bin/bash, и элемент bin, и элемент bash — это файлы, только bin — это специальный файл, который является каталогом, a bash — это обычный файл. Объекты inode служат для представления обоих этих компонентов. Несмотря на такую полезную унификацию, VFS также необходимо выполнять операции, специфичные для каталогов, такие как поиск компонента пути по его имени, проверка того, что указанный элемент пути существует, и переход на следующий компонент пути.
Для решения этой задачи в VFS реализована концепция элемента каталога (directory entry или dentry). dentry — это определенный
Продолжить

Рейтинг:  5  (За: 5 | Против: 0)
Добавлено: 20.09.2016 от Ginosaji

Комментарии (4)

VFS. Виртуальная файловая система. Часть 1

Linux  файловые системы

VFS. Виртуальная файловая система. Часть 2
Общий краткий обзорВиртуальная файловая система (VFS) - это подсистема в Линуксе, прослойка, благодаря которой системные вызовы, такие как open, read, write работают одинаково, независимо от того, как реализована конкретная файловая система, будь то ФС на жёстком диске, на носителе (CD, DVD, дискеты и т. д.), в оперативной памяти, сетевая ФС и так далее. VFS определяет интерфейс, который должны реализовать конкретные файловые системы, чтобы работать в Линуксе. Благодаря такой обобщённости, казалось бы разные файловые системы могут сосуществовать вместе. К примеру, в Линуксе всегда существует корневая ФС типа rootfs ("/"), а в её поддиректории /home может быть смонтирована
Продолжить

Рейтинг:  4  (За: 4 | Против: 0)
Добавлено: 16.09.2016 от Ginosaji

Комментарии (4)

Паттернология. Система команд

Совершенный код  java, паттерны проектирования, ооп

Святая троица «Инкапсуляция — Наследование — Полиморфизм» — это вершина айсберга под названием ООП. Это всего лишь инструменты для организации взаимодействия между объектами. В этом и есть смысл ООП — не просто создать кучу объектов, а сделать так, чтобы они эффективно взаимодействовали друг с другом. И в данном случае эффективность — это не скорость исполнения программы, а
возможность вносить правки в код максимально быстро, при этом не переписывая тонны кода.
Как я уже отмечал, с «движком для конфигов на LiketEngine» что-то не так. У него есть проблема — хоть он и написан на объектно-ориентированном языке (на самом деле Java уже давно не ОО, а мультипарадигма), он не ОО. В нём нет той
Продолжить

Рейтинг:  8  (За: 8 | Против: 0)
Добавлено: 16.09.2016 от aRiGaTo

Комментарии (20)

Пишем движок для конфигов на LiketEngine

Java  config

Это моя первая, поэтому не ругайте сильно.
Не люблю тянуть время, так что начнем.
Движок будем называть CommandShell.
Для начала определимся с командами, которые будем использовать на движке, эти:
1. echo
2. run
3. exec
4. stop
5. exit
Пока 5 команд хватит.
Создадим библиотеку команд, т.е. класс в котором будет хранится список команд.
Создаем класс например CommandShellLibrary и наследуем его от liket.engine.Library.
  1. package shell.engine;
  2.  
  3. import liket.engine.*;
  4. import liket.engine.work.*;
  5.  
  6. public class CommandShellLibrary extends Library
  7. {
  8.     public CommandShellLibrary(WorkListener workListener)
  9.     {
  10.         super(workListener);
  11.         int id = 0;
  12.         commands = new String[5];
  13.  
  14.         commands[id++] = "echo";
  15.         commands[id++] = "run";
  16.         commands[id++] =

Продолжить

Рейтинг:  5  (За: 6 | Против: 1)
Добавлено: 11.09.2016 от Aladdin

Комментарии (12)
<< 1 ... 22 23 24 25 26 ... 48 >>

Мы в соцсетях

tw tg yt gt