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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.02.2008, 20:23
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 1  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
По умолчанию Отловить выход курсора за пределы флеша без JS

Всегда считал что сабж невозможен. И вот заказчик ткнул меня носом в http://www.volvocars.com/ru/models/V...s/default.aspx . Пару часов провисел над декомпайлером, но так и не допёр, какое событие определяет вход/выход флешки за пределы ролика (нужный handler висит на onRollOut / onDragOut, но как это может работать - хз).
JS'а там нет.
__________________
#define true false //счастливой отладки, друзья

Старый 19.02.2008, 21:10
feanarf вне форума Посмотреть профиль Отправить личное сообщение для feanarf Найти все сообщения от feanarf
  № 2  
Ответить с цитированием
feanarf

Регистрация: Dec 2007
Адрес: Зеленоград
Сообщений: 62
Отправить сообщение для feanarf с помощью ICQ Отправить сообщение для feanarf с помощью Skype™
ставим большооой прозрачный прямоугольник поверх всего этого дела и лепим ему событие на RollOut-прятать курсор, на RollOver-показать

Старый 19.02.2008, 21:22
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 3  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Типа такого что-ли?
_http://www.av.kharkov.com/out.html
_http://www.av.kharkov.com/out2.html

Первый без реакции за пределами, второй, сы.
__________________
john


Последний раз редактировалось Molecula; 19.02.2008 в 21:55.
Старый 19.02.2008, 21:31
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 4  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Однажды кто-то на форуме оставил этот монускрипт=)

Код:
Stage.align="TL";
Stage.showMenu=false;
Stage.scaleMode="noScale";
//
Stage.addListener(o=_global.mouseController=_level0.createEmptyMovieClip("$$$MOUSE$$CONTROLLER$$",-16381));
o.f=function(w,h){with(this){
_x=_y=0;
lineStyle(0,0,0);beginFill(0,0);
lineTo(w,0);
lineTo(w,h);
lineTo(0,h);
endFill();
};};
o.onResize=function(){this.f(Stage.width,Stage.height);};o.onResize();
addProp=function(o,p,f){o.addProperty(p,function(){return o[p];},f);};
addProp(o,"mouseOver",function(mouseOver){trace((mouseController.txt.text=(mouseOver)?("[мышка во флэшке]"):("[мышка вне флэшки]")));});
o.useHandCursor=false;
o.createTextField("txt",0,0,0,0,0).autoSize=true;//

p=function(o,m,f,n){o[m]=function(){f();this[n]();trace(n);}};
pr=function(o,m,f){for(var i=0;i<o.length;i++){for(var i2=0;i2<m.length;i2++){p(o[i],m[i2],f,(m[i2].charAt(2).toLowerCase()+substring(m[i2],4,m[i2].length-2)));};};};
o=[MovieClip.prototype,Button.prototype];
pr(o,["onRollOver"],function(){_global.mouseController.mouseOver=true;});
pr(o,["onDragOver"],function(){_global.mouseController.mouseOver=true;});

pr(o,["onRollOut"],function(){_global.mouseController.mouseOver=false;});
pr(o,["onDragOut"],function(){_global.mouseController.mouseOver=false;});
pr(o,["onReleaseOutside"],function(){_global.mouseController.mouseOver=false;});

pr(o,["onPress","onRelease"]);
//

attachMovie("myButton","but",0).stop();
but._x=but._y=200;
but.rollOver=function(){trace((this.text="навели на"+this));this.gotoAndStop(2);};
but.releaseOutside=function(){this.gotoAndStop(2);};
but.rollOut=function(){trace((this.text="отвели от"+this));this.gotoAndStop(1);};
but.press=function(){trace((this.text="нажали на"+this));};
but.release=function(){trace((this.text="отжали "+this));};
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 19.02.2008, 21:48
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 5  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Цитата:
Сообщение от feanarf
ставим большооой прозрачный прямоугольник поверх всего этого дела и лепим ему событие на RollOut-прятать курсор, на RollOver-показать
Вот ведь чертовщина! Спасибо!

Цитата:
Сообщение от D12
Однажды кто-то на форуме оставил этот монускрипт=)
Жуткий монускрипт, но смысл понятен. И ведь работает заразо! Жесть -)
__________________
#define true false //счастливой отладки, друзья


Последний раз редактировалось iNils; 19.02.2008 в 22:15.
Старый 20.02.2008, 21:50
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 6  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
А, черт. Все-равно не универсальное решение. В мувиках, созданных программно после выполнения этого кода, все eventHandlers не будут включены в схему.

Я сейчас написал синглтон, который на onEnterFrame проверяет все интерактивные мувики на Stage и, если пользователь переписал eventHandler, переписывает этот eventHandler так, чтобы синглтон получал оповещение onEvent.

Это абсолютно рабочая схема, но, очевидно-тормозная. Для маленьких проектов ( мувиков на Stage < 1000 ) тормоза будут не критичны. Дальше - ХЗ. Если кто придумает более эффективную схему - отпишитесь плиз.
__________________
#define true false //счастливой отладки, друзья

Старый 20.02.2008, 22:29
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 7  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
А что её придумывать всё есть на AS3
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 20.02.2008, 23:05
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 8  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
а что если создать кнопку-рамку в один пиксел - на всю флешку, и обрабатывать на ней ролловер/роллаут. При роллауте проверять позицию курсора. Может такое работать?
__________________
: M F N W :

Старый 21.02.2008, 09:38
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 9  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Вариант: повесить прозрачный мувик на всю сцену, и проверять hitTest'om в onEnterFrame наличие курсора на ним.

Старый 21.02.2008, 12:29
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 10  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Люди, написавшие последние два поста, вы, вообще, понимаете о чём речь?
__________________
#define true false //счастливой отладки, друзья

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

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

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


 


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


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