Профиль пользователя заблокирован сроком с 15 октября 2017 г. и навсегда по причине: многократные нарушения регламента работы сервиса
Ответы пользователя по тегу JavaScript
  • Cocos2d-js, как прочитать/устновить пиксели у слоёв или текстур?

    @vasIvas
    Хочу порекомендовать Вам перейти на pixi.js и написанные на его основе замечательные движки phaser и panda. После того, как я узнал эти названия, моя жизнь стала лучше. Теперь мне даже постовые улыбаются по пути на работу и птицы поют на за окном даже в минус пятьдесят. PIXI.JS - неповторим!!!
    Ответ написан
  • Как правильно использовать canvas requestAnimationFrame в данной ситуации?

    @vasIvas
    Я не совсем понял в чем проблема, но если в том, что картинки не успевают загрузится, то Вам нужно подписаться на окончание загрузки. Событие называется 'load'. Потом нужно дождаться пока все картинки загрузятся и после этого продолжать выполнять код дальше. То есть это нормально, если Вы сначала загрузите картинки и только потом запустите приложение.
    Ответ написан
  • Какой есть скрипт, имитирующий барабан игрового автомата?

    @vasIvas
    Вообще анимация барабанов игровых автоматов, это видео.
    Если и есть на основе анимации, то это очень редко и выглядеть
    должно не очень.
    И я много раз видел подобные вопросы и ответов на них не было.
    Ответ написан
    Комментировать
  • Стоит ли использовать WebGl для 2d графики?

    @vasIvas
    WebGL увеличивает производительность, это его единственный плюс.
    А актуальные минусы - на данный момент нет хорошего api, нет эффектов.
    Не все браузеры его поддерживают, а те что поддерживают его, делают
    это, как всегда, по разному. У одного 60fps, а у другого 30fps. Нужно обладать
    знаниями растрового рендера, а это много времени отберет.
    Ответ написан
    Комментировать
  • Как совместить паттерны и не получить говнокод?

    @vasIvas
    Если я правильно Вас понял, то вот как-то так -
    var App = ( function( ){
    	// свойства объявляются в начале
    	var app = Object.create( null ),
    		manipulation,
    		matrix,
    		main;
    	
    	document.addEventListener( 'DOMContentLoaded', document_domContentLoadedHandler );
    
    	function document_domContentLoadedHandler( ){
    		document.removeEventListener( 'DOMContentLoaded', document_domContentLoadedHandler );
    
    		main = new Main( );
    	}
    
    	// точка входа в приложение.
    	// обычно, приложение не состоит 
    	// из двух классов и инициализация его
    	// очень долгий и крапотливый момент,
    	// который требует много внимания к последовательности
    	// создания объектов. По этому, у меня обычно отдельный
    	// класс этим занимается. Обычно, это когда без фраймворков.
    	// 
    	// Так же стои отметить, что этот класс Main обычно пишится 
    	// в отдельном файле и состоит из, порой, тысячи строк.
    	// Я это говорю к тому, что если покажется, что он излишний,
    	// то представьте приложение из сотни классов, в которых запутаться,
    	// легче чем кажется. И класс Main используется только для того,
    	// чтобы читать приложение в одном месте, а не гонять из файла в файл,
    	// в надежде понять, ЧТО ЭТО??? 
    	var Main = ( function( ){
    		function Main( ){
    
    		}
    
    		Main.prototype.init = function( ){
    			matrix = this.installMatrix( );
    			manipulation = this.installManipulation( matrix );// передаем ссылку для манипулирования
    		};
    
    		Main.prototype.installManipulation = function( ){
    			// ...
    			return new Manipulation( );
    		};
    
    		Main.prototype.installMatrix = function( ){
    			// ...
    			return new Matrix( );
    		};
    
    		return Main;
    	} )( );
    
    	//
    	var Manipulation = ( function( ){
    		function Manipulation( ){}
    		return Manipulation;
    	} )( );
    
    	//
    	var Matrix = ( function( ){
    		function Matrix( ){}
    		return Matrix;
    	} )( );
    
    	return Object.defineProperties( app, {
    		manipulation: {
    			get: function( ){return manipulation;}
    		},
    		name: {
    			get: function( ){return 'App';}
    		},
    		toString: {
    			value: function( ){return '[object ' + this.name + ']'}
    		}
    	} );
    } )( );
    Ответ написан
    2 комментария
  • Как преобразовать строку в объект?

    @vasIvas
    Вселенский разум говорит, что прежде всего нужно подумать о контексте,
    в котором будет существовать объект {} на который ссылается ссылка Test.
    А дальше все просто -
    некийКонтекст[str] = {};

    Если Test существующий класс, то делаем -
    var Item = Factory.getItem( str );
    var test = new Item( );

    Ну а если нет, то -
    var test = Factory.setItem( {} );
    Ответ написан
    9 комментариев
  • Полезны ли курсы от "Специалиста"?

    @vasIvas
    Лично я за чтение книг, так как там все взвешенно с хирургической точностью.
    Это раз. А два, если Вы уж спросили, значит это не Ваше, либо Вы просто не способны
    понять смысл таких курсов в полной мере. По этому, лучше читайте и будьте как все.
    Ответ написан
    Комментировать
  • Как упростить js код?

    @vasIvas
    Я бы посоветовал "усложнить код" нормальными названиями!
    i18n.t, lng, j, x, i - у Вас что, ревматизм? Напишите полные названия,
    а то не хочется настолько всматриваться, чтобы понять что Вы в цикле делаете.
    Ответ написан
    1 комментарий
  • Что лучше: передавать функцию или ее результат в аргумент?

    @vasIvas
    Если someFunc что-то возвращает, то функция secFunc полочит возвращенное значение,
    иначе, ссылку на функцию.
    Ответ написан
    Комментировать
  • Ресурсы (книги, сайты и т.п.) по теме MVC, MVP (MV*) программирования на Javascript?

    @vasIvas
    Плюсую за wiki и хочу добавить, что если не получается понять mvc, то это проблема вызвана не сложностью парадигмы, а отсутствием знаний ооп и построения архитектуры приложения.

    MVC не сделает Ваши приложения правильние, если они будут неправильные изначально.
    По этому, если у Вас что-то не будет получаться после начала его использования, не думайте что не смогли до конца проникнуть в идею, проблема в другом.
    Ответ написан
    1 комментарий
  • Как назвать свойство в объекте?

    @vasIvas
    names['id'];
    В объекте все свойства, это строки. По этому нельзя использовать объекты в качестве ключей.
    Если объекты специально не наделить хешем, то есть большая вероятность, что два разных объекта будут приняты за один.
    Ответ написан
    Комментировать
  • Как сделать виртуальный джойстик на JavaScript?

    @vasIvas
    А как Вы делаете игры, если не знаете, как джостик сделать?
    На js Вы статьи не найдете. as3, java, c++, c#, но не js.
    js не подходит для изучения gamedev.
    Сейчас же гугл не показывает картинки, а переходит по ссылкам.
    Вы можете перейти по ссылки последний картинки и почитать урок.
    Ответ написан
    Комментировать
  • Как сделать управление на телефоне с помощью кнопок внутри игры на html5 +js?

    @vasIvas
    Определяете среду в которой запущена игра и если это мобильная система, то рисуете кнопки управления и джостик.
    Ответ написан
    Комментировать
  • Пользуетесь ли вы yeoman?

    @vasIvas
    Я пробовал.. Настроить под windows стоило не мало нервов. Готовых шаблонов проекта очень много, но не один мне не подходил. Сделал свой и понял, что yeoman нафиг не нужен. Легче положить проект на githab и потом грузить его в ide или редактор, телодвижений меньше.
    Ответ написан
    Комментировать
  • MVC vs MVVM за чем будущее?

    @vasIvas
    Прежде чем получить ответ, Вам нужно понять,
    что у всех людей mvc разное, точнее, разная реализация.

    Возьму для примера логику 90% и Сергей Протько в том числе.
    MVC декларирует разделение на логику представления, бизнес логику и связывающие это все контроллеры.

    Следом идем в Model-View-Controller и читаем -
    Наиболее типичная реализация отделяет вид от модели путем установления между ними протокола взаимодействия, используя аппарат событий (подписка/оповещение). При каждом изменении внутренних данных в модели она оповещает все зависящие от неё представления, и представление обновляется. Для этого используется шаблон «наблюдатель». При обработке реакции пользователя вид выбирает, в зависимости от нужной реакции, нужный контроллер, который обеспечит ту или иную связь с моделью. Для этого используется шаблон «стратегия», или вместо этого может быть модификация с использованием шаблона «команда». А для возможности однотипного обращения с подобъектами сложно-составного иерархического вида может использоваться шаблон «компоновщик». Кроме того, могут использоваться и другие шаблоны проектирования, например, «фабричный метод», который позволит задать по умолчанию тип контроллера для соответствующего вида.


    Тут ясным языком сказано, что модель посылает события, а представление их ловит и изменяется. Можно было бы предположить, что контроллер является "наблюдателем", но нет. Контроллер, это отдельная структура данных, которая
    в большинстве случаев заключает в себе некую, контрольскую логику, которая
    убивает мысль о контроллере "наблюдателе", так как один объект не может делать больше одной обязанности.
    Конечно можно эти слова натянуть к любой реализации, но чтобы до конца разобраться нужно открыть книгу GoF в которой написано -
    6f447abd4303469d86a19e53a99d6716.png

    Можно и это трактовать по разному, но дальше идет картинка и чугунно-бетонная точка -
    525645c43f4c440b94e61c4b7309e22d.png

    Ну а так же картинку с вики -
    MVC-Process.png

    Буду раз выслушать другие взгляды, но только с приведением ссылок на авторитетные источники, а не статьи смертных и тем более неправильные реализации framwork'ов.
    Ответ написан
    9 комментариев
  • Как разобраться в анимациях?

    @vasIvas
    что делают как и почему easeIn, easyOut и многие десятки других видов анимаций.

    Есть онлайн сервисы, где можно поиграться с настройками "кодовой" анимации.
    Непонятно, как добиваться нужного эффекта.

    Это не из темы "я хочу научится завязывать шнурки", этому долго учатся на курсах аниматоров.
    С чего начать её создаие?

    У Вас в голове должны не мысли, а кадры. Научитесь строить кадры, как сцены в кино,
    их же не просто взяли и сняли, а создают макеты, описания. Нарисуйте схему движения, время..
    Или вот попал на сайт казино - смотрю как красиво вращаются колесо слот-машины на канвасе.

    Если красиво, то это виде, созданное в видеоредакторе.
    Ответ написан
    Комментировать
  • Опыт, практика в JS?

    @vasIvas
    У меня тоже когда-то были такие вопросы и это говорит об отсутствии умения программировать полноценные программы, а не плохое понимание языка.
    Язык Вы можете знать от компилятора, до самого последнего новшества, а вот
    собрать простенькое приложение не получается. Нет чувства полноценности и законченности проекта. И я тоже спрашивал и думал, что мне такое написать и
    так же как и Вы получал ответы, типа - ничего Вы не знаете, я вот так не делал и считаю всех не как я, не такими. Не обращайте внимание на это, программисты тоже бывают отстойными гундосами.

    И вот я значит так и не получив ответ пошел копать фраймворки.
    Перерыл их очень много, получил много знаний, но самое главное я смог найти ответ на мой и Ваш ответ - напишите компоненты. Компоненты, это самое сложное что есть в программировании и является лучшим примером и учителем ооп. Все компоненты делать не нужно, а вот меню, выпадающее, это самое оно.
    Ответ написан
    5 комментариев
  • Как реализовать универсальный онлайн-конструктор?

    @vasIvas
    Универсальный конструктор, это 3Dmax. Удачи!
    Ответ написан
    Комментировать
  • Как обрезать слово методом javascript?

    @vasIvas
    Можно вот так
    var string = 'text';
    console.log(string.substring( 0, string.length - 2 ) ); // te
    Ответ написан
    Комментировать
  • Возможно ли написать игру подобную tankionline?

    @vasIvas
    Мне кажется что скоро настанет время, когда ДАЖЕ не aktiths признают,
    что html5, как был жалким, так ещё лет десять и останется.
    Только было начали кричать, что unity akti убьёт, как хром отказался и от флеш плагина так и от unity.
    Чтобы говорить о 3D нужно задать вопрос - "а есть ли хотя бы 2D нормальные?".
    Лично я не смог найти таких.

    И флеш намного лучше чем сегодняшний js не нужно его не любить? его нужно понять.
    Ответ написан
    Комментировать