Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как определить mouseX рабочего стола или mouseX Браузерного окна (http://www.flasher.ru/forum/showthread.php?t=132418)

3Desian 11.11.2009 17:23

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

bicubic_bublic 12.11.2009 01:23

в яваскрипте (очень грубо)
Код:

window.onmousemove = function (e) {
  e = event;
  // по w3c:
  // e.screenX, e.screenY - позиция на экране
  // e.clientX, e.clientY - позиция на странице (включая то что проскроленно)
}


3Desian 12.11.2009 09:31

От.. спасибо , уважаемый.
А такой вопрос: а как это прикрутить к 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>

Правильно же?
И как дальше во флешке получить значениея при создании окна?

bicubic_bublic 12.11.2009 11:39

предлагаю такой вариант:
Код:

<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; }');


3Desian 12.11.2009 14:42

Что то не происходит ничего... :(
Пишу в 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:13.

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