Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вызов функции во флеше и передача переменных из JS (http://www.flasher.ru/forum/showthread.php?t=124372)

satrix_vip 30.04.2009 11:57

да я уже весь форум облазил, ничего подходящего нету или я не могу сопоставить!
если кто может киньте простой примерчик! или подскажите что не так в коде! Вешаюсь!!!!!!!!!!!!!!!!

dimarik 30.04.2009 12:16

В js не силен, но что-то не помню что за "e"

Код:

function GetCoordsx() {
    x=e.pageX;
    return x;
}

потрейсите e.pageX. Выдает ли оно реальное значение?

satrix_vip 30.04.2009 16:13

спасибо dimarik за помощь
а как проверить вообще есть ли связь или нет передаются данные или нет

dimarik 30.04.2009 16:34

алерт поместите в вызываемую функцию js

satrix_vip 30.04.2009 16:40

уже делал загвостка где то во флеше в вызове функции js вы можете посмотреть правильно ли я написал соединение и вызов js функции
и нужно ли что то ещё потому что в переменной хх пишет null в тексте

Добавлено через 1 минуту
Код AS1/AS2:

import flash.external.ExternalInterface;
        var xx = ExternalInterface.call("getMouseCoords");
 
 
 
followMouse = function () {
 
        _root.tt.text=xx;
        this.startX = this._x;
        this.startY = this._y;
        this.onEnterFrame = animateEye;
};
animateEye = function () {
 
        var distX = (xx-this._x)/5 -30;
        var distY = (_ymouse-this._y)/5 -25;
        if (Math.abs(distX)<75) {
                this._x = this.startX+distX;
        }
        if (Math.abs(distY)<25) {
                this._y = this.startY+distY;
        }
};
leftEye_mc.onEnterFrame = followMouse;


dimarik 30.04.2009 16:54

import flash.external.ExternalInterface;
trace(ExternalInterface.available);

Это во-первых. Чтобы проверить доступность интерфейса.

Во-вторых, вызывайте

var xx = ExternalInterface.call("getMouseCoords");

вутри animateEye, чтобы там была актуальная информация.

BestDay 30.04.2009 17:58

Что значит устаревший? Смешно.

Все предельно просто. Вся сложность от глупости.

Код:

<script>
function onMouse()
{
    var flash = document.getElementById('my-flash-id');

    flash.SetVariable('g_mouseX',event.x) ;
    flash.SetVariable('g_mouseY',event.y) ;

}
</script>
<body onmousemove="onMouse()">
<object id="my-flash-id" .... > </object>
</body>

в AS в переменных _root.g_mouseX и _root.g_mouseY позиция мышки из HTML

dimarik 30.04.2009 18:08

BestDay, так тактично меня идиотом редко называют. Вы конечно, правы, эта конструкция будет работать.
Тогда в догонку можно на эти переменные натравить watch.

BestDay 30.04.2009 18:20

Извини!!! Действительно как-то грубо прозвучало. (((((

iNils 30.04.2009 18:52

Цитата:

Что значит устаревший? Смешно.
Для работы с флешом это устарело.


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

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