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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.08.2011, 16:01
asterion вне форума Посмотреть профиль Отправить личное сообщение для asterion Найти все сообщения от asterion
  № 1  
Ответить с цитированием
asterion

Регистрация: Mar 2010
Сообщений: 18
По умолчанию 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-страничке???


Последний раз редактировалось asterion; 12.08.2011 в 14:53.
Старый 15.08.2011, 20:04
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 2  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
Не знаю, что ты там мутишь, но вот пример как я вызывал js функцию из флеша.

JS
Код:
function idUser()
{
  //какие-то расчеты
  return masAr
}
Затем во флеше:
Код AS3:
info_user = ExternalInterface.call('idUser') as Array;
В твоем случае можно счетчик включить и постоянно вызывать джаваскрипт функцию из флеша.

ЗЫ: Заранее извиняюсь, что не вник в твой вопрос. Просто анписал как я делал.

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

Регистрация: Mar 2009
Сообщений: 21
тут вроде не плохой хелп был.


Последний раз редактировалось RenoVATio; 15.08.2011 в 20:27.
Старый 15.08.2011, 20:28
asterion вне форума Посмотреть профиль Отправить личное сообщение для asterion Найти все сообщения от asterion
  № 4  
Ответить с цитированием
asterion

Регистрация: Mar 2010
Сообщений: 18
да, я сначала тоже из флеша вызывал джава-скрипт. Делал через таймер.
Потом решил наоборот.
Сегодня заказчик звонил, я не успевал и отдал как было. Жалко что по срокам затянул, но все же из принципа разберусь думаю.
Сенкс.

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

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

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


 


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


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