|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
мы используем такое:
// Bind mouse scroll inside Flash bindScroll: function() { $(window).on('mousewheel DOMMouseScroll', function(e) { e.preventDefault(); var delta = 0; if (e.type == 'mousewheel') { delta = e.originalEvent.wheelDelta / 120; } else if (e.type == 'DOMMouseScroll') { delta = 40 * e.originalEvent.detail; } app.swf.flash(function() { if (typeof(this.externalMouseEvent) == 'function') { this.externalMouseEvent(10 * delta); } }); }); }, // Resume standart page scroll outside Flash unbindScroll: function() { $(window).off('mousewheel DOMMouseScroll'); } К нему еще идет as класс,который регистрирует коллбэк externalMouseEvent и из него рассылает всем стандартный MouseEvent.WHEEL. Правда у такого костыля есть побочный эффект - отключается браузерный скролл.Для его минимазиции мы восстанавливаем стандартный хэндлер колеса когда мыша покидает флэшку, но думаю в данном случае это не критично. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
у обоих подходов алгоритм один и тот же - перехват браузерного ивента.
|
|
|||||
Регистрация: Nov 2007
Сообщений: 1,723
|
Да. Прям можно писать MouseEvent.WHEEL и будет всё работать.
|
|
|||||
Регистрация: Jan 2014
Адрес: Одесса
Сообщений: 253
|
какие успехи с TypeScript ???
|
|
|||||
Регистрация: Sep 2010
Сообщений: 167
|
Сделал перерыв, всё лето был без компьютера, только-только вернулся.
В общем, за всё время с начала я занимался языком где-то полторы недели, смог портировать основную часть для своего проекта на Pixi.js, очень доволен. Основа конечно ещё не всё, тут надо переделать главный класс заново, потому что во флеше он мне не очень нравился. Есть конечно и нюансы с pixi. Примеры TypeScript плохо сделаны, а документация вся под чистый JS. Возникают иногда вопросы по типизации некоторых вещей (вроде событий и ах аргументов). Ещё конечно в pixi слишком слабая система событий и инпута. Драг и дроп тоже непонятно реализован, не как во флеше, а фактически просто надо отслеживать событие mousemove и изменять координаты объекта. Я делал под версию v3.0.10, а сейчас уже вышла 4 версия, и там добавили правый клик и ещё некоторые полезные вещи. Сейчас остаётся только подключить Pixi 4. Возможно, следует перейти на Phaser, там всё пишется под TypeScript, и даже в доках написано что-то типа "делать на чистом JS - сумасшествие". Но в целом я очень доволен. Открылись огромные возможности. Я делал Flash в основном под компьютерные игры, для создания UI для всех интерфейсов: игровые меню, инвентари, HUD'ы, настройки, в общем, всё что нужно под RPG и шутеры. Всё это было завязано на Scaleform GFx, который сейчас даже походу нельзя лицензировать. Многие движки давно уже отошли от него, предлагая собственные очень примитивные инструменты для создания движкового HUD (UE4, Unity, Lumberyard) - но этого недостаточно для создания сложных игровых интерфейсов, вроде инвентаря для сталкера. А теперь можно с помощью pixi и TypeScript делать очень сложные вещи, портировать старые вещи с AS2, нужно лишь иметь в движке плагин на подобие Chromium\Awesomium\Corerent для рендеринга веб-страниц. Как продвинусь дальше в портировании своего проекта на TS - обязательно дам знать. |
|
|||||
Регистрация: Jun 2013
Адрес: Воронеж
Сообщений: 101
|
Подскажите, пожалуйста, как писать игры во flashdevelop с помощью JS и Phaser так, чтобы были подсказки кода?
__________________
В лесу родилась ёлочка, в лесу она росла! Зимой и летом... |
|
|||||
Lorem ipsum
|
Полноценные подсказки наверное будут только в чем-то вроде TypeScript. Хотя, IDEA вон вроде и на чистом JavaScript ассистирует сносно.
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 17:32. |
|
« Предыдущая тема | Следующая тема » |
|
|