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

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

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

Регистрация: Mar 2007
Сообщений: 142
Отправить сообщение для 3Desian с помощью ICQ
Tools Как определить mouseX рабочего стола или mouseX Браузерного окна

Собственно вот и вопрос.
Флэшка лежит в html страничке, которая открыта в Explorer,например.
Нужно определить положение мышки на рабочем столе или в окне эксплорера.
Я понимаю без ДЖАВАСКРИПТа тут никак.
Помощи прошу, кто чем знает.

Старый 12.11.2009, 01:23
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 2  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
в яваскрипте (очень грубо)
Код:
window.onmousemove = function (e) {
   e = event;
   // по w3c:
   // e.screenX, e.screenY - позиция на экране
   // e.clientX, e.clientY - позиция на странице (включая то что проскроленно)
}

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

Регистрация: Mar 2007
Сообщений: 142
Отправить сообщение для 3Desian с помощью ICQ
От.. спасибо , уважаемый.
А такой вопрос: а как это прикрутить к AS3.
Я бы хотел при клике во флэшке определять положение мышки на экране.
Вот функция в AS3:
Код AS3:
public function onClick (event:Event)
{						
if (ExternalInterface.available) { ExternalInterface.call("window.open", "www.somesite.ru", "windowName", "height=515,width=680,toolbar=no,scrollbars=no, left="+mouseX.toString()+",top="+mouseY.toString());}
}
но в ней берутся координаты мышки из флэшки.

Добавлено через 1 час 34 минуты
В продолжении темы.
Вот написал в html страничке:

Код:
<script type="text/javascript">
var mCoords;
function defPosition(event) {
      mCoords.x=event.screenX ,
      mCoords.y= event.screenY 
   
}

function returnCoords()
{
      return mCoords;
}
</script>
Правильно же?
И как дальше во флешке получить значениея при создании окна?


Последний раз редактировалось 3Desian; 12.11.2009 в 11:39.
Старый 12.11.2009, 11:39
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 4  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
предлагаю такой вариант:
Код:
<script type="text/javascript">
window.onmousemove = function(e) {
   e = e || window.event; // для старых версий IE
   window.mousePosition = { x: e.screenX, y: e.screenY };
}
</script>
во флеше
Код AS3:
var mousePosition:Object = ExternalInterface.call('function () { return window.mousePosition; }');

Старый 12.11.2009, 14:42
3Desian вне форума Посмотреть профиль Отправить личное сообщение для 3Desian Найти все сообщения от 3Desian
  № 5  
Ответить с цитированием
3Desian
 
Аватар для 3Desian

Регистрация: Mar 2007
Сообщений: 142
Отправить сообщение для 3Desian с помощью ICQ
Что то не происходит ничего...
Пишу в html:
Код:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />
</head>
<div style="border:0px solid red;>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 

codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" 

id="ComponentMaterialTest.swf" align="left">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" 

value="/files/f/ComponentMaterialTest.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed 

src="/files/f/ComponentMaterialTest.swf" quality="high" bgcolor="#ffffff" width="100%" height="100%" name="ComponentMaterialTest.swf" align="left" 

allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</div>

<body>
<script type="text/javascript">
window.onmousemove = function mouseCoord(e) {
   e = e || window.event; // для старых версий IE
   window.mousePosition = { x: e.screenX, y: e.screenY };
}
</script>

</body>
</html>
А во флэшке :
Код AS3:
public function onClick (event:Event)
{
if (ExternalInterface.available) { 
var mousePosition:Object = ExternalInterface.call('mouseCoord () { return window.mousePosition; }');
ExternalInterface.call("window.open", url, "WindowName", "height=515,width=680,toolbar=no,scrollbars=no, left="+mouseX.toString()+",top="+mouseY.toString());
 
txt.text=mousePosition.x; // текст передаётся в текстовое поле
														}
}
Срабатывает только "window.open".
'mouseCoord () { return window.mousePosition; }' - не работает.

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

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

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


 


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


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