| asterion |
10.08.2011 16:01 |
Flash+JavaScript не передаются значаения
Здравствуйте.
Вставляю в опубликованный html скрипт на JS, который работает, в браузере выводятся alert ("msg").
Код AS1/AS2:
<script type="text/javascript">
window.onload=function(){
getClientWidth();
getClientHeight();
//alert("Doc loaded")
}
window.onmousemove = mousemoved;
function mousemoved(e)
{
getCurrXMousePos(e);
getCurrYMousePos(e);
//alert("Mouse moved")
}
function getCurrXMousePos(e){
var posx = 0;
if (!e) e = window.event;
if (e.pageX)
{
posx = e.pageX;
}
else if (e.clientX)
{
posx = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
}
alert("poxx="+posx);
return posx;
}
function getCurrYMousePos(e){
var posy=0;
if (!e) e = window.event;
if (e.pageY)
{
posy = e.pageY;
}
else if (e.clientY)
{
posy = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
}
alert("posy="+posy);
return posy;
}
function getClientWidth(){
//alert('getClientWidth');
return window.document.compatMode=='CSS1Compat' && !window.opera?
document.documentElement.clientWidth:document.body.clientWidth;
}
function getClientHeight(){
//alert(getClientHeight);
return window.document.compatMode=='CSS1Compat' && !window.opera?
document.documentElement.clientHeight:document.body.clientHeight;
}
</script>
Во флеше стараюсь сохранить в переменных переданные значения, но почему-то не получается.
Код AS3:
import flash.display.Sprite;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.events.MouseEvent;
import flash.external.ExternalInterface;
import flash.text.*;
//var stW_half=stage.stageWidth/2;
//var stH = stage.stageHeight;
var CurrXMousePos:Number=0;
var CurrYMousePos:Number=0;
var stW_half:Number=0;
var stH:Number=0;
// linking with JavaScript
ExternalInterface.addCallback("getCurrXMousePos", setCurrXMousePos);
ExternalInterface.addCallback("getCurrYMousePos", setCurrYMousePos);
ExternalInterface.addCallback("getClientWidth", setClientWidth);
ExternalInterface.addCallback("getClientHeight", setClientHeight);
//updating Current X and Y positions of cursor;
function setCurrXMousePos(value:Number):void {
CurrXMousePos=value;
out_txt.text="CurrXMousePos"+CurrXMousePos;
}
function setCurrYMousePosPos(value:Number):void {
CurrYMousePos=value;
}
function setClientWidth(value:Number):void {
stW_half=value/2;
}
function setClientHeight(value:Number):void {
stH=value;
out_txt.text+="stH"+stH;
}
Для отладки использую текстовое поле.
Добавлено через 46 часов 52 минуты
Скажите, где я напортачил?
setCurrXMousePos и setCurrYMousePosPos должна же вызываться с частотой движения мыши по html-страничке???
|