Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.07.2016, 18:03
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 101  
Ответить с цитированием
undefined

Регистрация: 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');
  }
но тут есть jquery,если надо без него есть еще такой вариант(см. атач)
К нему еще идет as класс,который регистрирует коллбэк externalMouseEvent и из него рассылает всем стандартный MouseEvent.WHEEL.
Правда у такого костыля есть побочный эффект - отключается браузерный скролл.Для его минимазиции мы восстанавливаем стандартный хэндлер колеса когда мыша покидает флэшку, но думаю в данном случае это не критично.
Вложения
Тип файла: rar swfmacmousewheel_src.rar (882 байт, 36 просмотров)

Старый 02.07.2016, 18:05
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 102  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
у обоих подходов алгоритм один и тот же - перехват браузерного ивента.

Старый 04.07.2016, 08:58
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 103  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,723
Цитата:
Сообщение от Alex626 Посмотреть сообщение
Это почему же?
Там есть свои библиотеки инпута?
Да. Прям можно писать MouseEvent.WHEEL и будет всё работать.

Старый 25.09.2016, 20:41
Max_Payn вне форума Посмотреть профиль Отправить личное сообщение для Max_Payn Найти все сообщения от Max_Payn
  № 104  
Ответить с цитированием
Max_Payn

Регистрация: Jan 2014
Адрес: Одесса
Сообщений: 253
Цитата:
Сообщение от Alex626 Посмотреть сообщение
MinimalComps на TypeScript? Ну, если получится всё, то конечно выложу на GitHub. Некоторые вещи в PIXI я ещё не изучил, например, события. EventDispatcher там вообще есть? И если его нет, то какие сторонние классы мне придётся использовать, из имеющихся?
какие успехи с TypeScript ???

Старый 25.09.2016, 21:47
Alex626 вне форума Посмотреть профиль Отправить личное сообщение для Alex626 Найти все сообщения от Alex626
  № 105  
Ответить с цитированием
Alex626

Регистрация: 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 - обязательно дам знать.

Старый 09.10.2016, 13:24
Ёлочка вне форума Посмотреть профиль Отправить личное сообщение для Ёлочка Найти все сообщения от Ёлочка
  № 106  
Ответить с цитированием
Ёлочка
 
Аватар для Ёлочка

Регистрация: Jun 2013
Адрес: Воронеж
Сообщений: 101
Подскажите, пожалуйста, как писать игры во flashdevelop с помощью JS и Phaser так, чтобы были подсказки кода?
__________________
В лесу родилась ёлочка, в лесу она росла! Зимой и летом...

Старый 09.10.2016, 14:50
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 107  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Полноценные подсказки наверное будут только в чем-то вроде TypeScript. Хотя, IDEA вон вроде и на чистом JavaScript ассистирует сносно.
__________________
Поймай яблоко 2!

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:20.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.