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

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

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

Регистрация: Oct 2006
Сообщений: 2,282
мы используем такое:
Код:
 // 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 байт, 71 просмотров)

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

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

Старый 25.09.2016, 21:47
Alex626 вне форума Посмотреть профиль Отправить личное сообщение для Alex626 Найти все сообщения от Alex626
  № 3  
Ответить с цитированием
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
Ёлочка вне форума Посмотреть профиль Отправить личное сообщение для Ёлочка Найти все сообщения от Ёлочка
  № 4  
Ответить с цитированием
Ёлочка
 
Аватар для Ёлочка

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

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

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

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

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

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


 


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


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