Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Двойной щелчок и правая кнопка. (http://www.flasher.ru/forum/showthread.php?t=62551)

Nox Noctis 06.09.2004 19:53

ну так напиши на директоре :)) в чем печаль-то вообще тогда? :)

fiot 06.09.2004 20:15

печать в том, что нужно по событию из флеша что-то делать с директором... и это событие на правый клик мыши... я спросил... может можно что-то сделать с кодом который я постил выше... а то ломает писать постоянно - хиттест.

llllllllll 06.09.2004 20:58

Вложений: 1
Ну сделай вот так :)

llllllllll 06.09.2004 21:10

По идее в Дире можно посылать по событию rightMouseDown запрос (getVariable) геттер-сеттеру во флеше и тут же возвращать значение мувика на который кликнули или null, ну и в зависимости от имени мува делать что-то ...

llllllllll 07.09.2004 02:16

А вообще я балда :), нафиг нам еще что-то писать во флеше если можно прямо в дире? ;)

Код:

global _root
global _listeners

on startMovie()
  _root = sprite(1).getVariable("_root", false)
  _listeners = [ \
    [#target:_root.mc, #action:"Hello"], \
    [#target:_root.mc2, #action:"World!"] \
  ]
end


on rightMouseDown()
  repeat with i = 1 to _listeners.count
    o = _listeners[i]
    mc = o.target
    if(mc.hitTest(_root._xmouse, _root._ymouse, true)) then
      alert(o.action)
    end if
  end repeat
end


fiot 07.09.2004 11:25

Цитата:

Оригинал написал(а) llllllllll
А вообще я балда :), нафиг нам еще что-то писать во флеше если можно прямо в дире? ;)
классо ... вери биг сенкс :)

Iv 08.06.2006 12:26

вот класс на AS1. очень легко переделать в AS2.
Код:

this.setDoubleClickClass = function() {
 delete this.setDoubleClickClass;
 _global.org = _global.org || {};
 _global.org.dembicki = _global.org.dembicki || {};
 if (_global.org.dembicki.DoubleClick) {
  return;
 }
 var DoubleClick = _global.org.dembicki.DoubleClick=function () {
 };
 // get set interval time
 var interval_time = 300;
 function getIntervalTime() {
  return interval_time;
 }
 function setIntervalTime(time) {
  if (isNaN(time) || time<50 || time>3000) {
  return;
  }
  interval_time = time;
 }
 DoubleClick.addProperty("_time", getIntervalTime, setIntervalTime);
 // clicks handler
 var last_time = 0;
 DoubleClick.onMouseUp = function() {
  if ((getTimer()-last_time)<interval_time) {
  DoubleClick.broadcastMessage("onDoubleClick");
  }
  last_time = getTimer();
 };
 Mouse.addListener(DoubleClick);
 AsBroadcaster.initialize(DoubleClick);
 ASSetPropFlags(_global, 'DoubleClick', 7, 1);
};
this.setDoubleClickClass();
// usage:
org.dembicki.DoubleClick.addListener(_root);
_root.onDoubleClick = function() {
 trace("DoubleClick");
};


Nirth 08.06.2006 21:42

Нидл будь другом не пори чуши.

Iv 08.06.2006 21:44

Цитата:

Сообщение от Nidl
Iv , радость моя , ты только проснулся )))
Помоему исходник данный гдето почти 2года назад от D12 решает проблему на корню , и кода поменьше ...

P.S. Целую =)

- я еще не ложился.
- я не юзаю свои старые, а так-же чужие, а тем более чужие старые исходники. всегда интересно написать самому.
- количество кода не показатель его качества. это я не к тому, что у d12 (или даже d24) он лучше или хуже, просто это не аргумент.
- смею утверждать, что d28 далеко не единственный кто решил проблему на корню. но решений много и привычки и пристрастия у всех разные.

вот

Nidl 09.06.2006 00:55

ОК ...

P.S. Делай что хочешь революционер... небуду спорить ... из уважения к форуму .

P.S.2. Nirth ты ведь нас учил верить в новые технологии , для данного случая на AS3 есть "MouseEvent.DOUBLE_CLICK,onDouble" за этим завтрашний день , а смотреть как люди делают 1001й анологичный пример и еще удивляются где аплодисменты , тогда я вообще непонимаю зачем делать "Блейзер".

P.S.3. Иван незнаю как вас по батюшке , но если бы вы предложили что то новенькое , я бы вам аплодировал стоя ...

P.S.4. D12 Пишется с большой , это значит имя - Денис .

P.S.5. И D12 не перво-открыватель , он просто дал пользователям пример , когда он был нужен , моряк ты слишком долго плавал ...


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

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