Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Перевести Ресайз Флешки в браузере в AS2 (http://www.flasher.ru/forum/showthread.php?t=123784)

FMensk 10.04.2009 02:34

Перевести Ресайз Флешки в браузере в AS2
 
результат http://vvord.ru/RES/ - при наведение на поле флешки она изменяет высоту с 100 на 300.

код все в 1 кадре resize.swf
Код:


import flash.external.*;

butt.addEventListener(MouseEvent.MOUSE_OVER, scrPlayDOWN);
function scrPlayDOWN(event:MouseEvent = null):void {
        var RESIZE_CONTAINER:XML = new XML(<script><![CDATA[
                                        function(height) {
                                                var objNode = document.getElementById('flashid');
                                                objNode.style.height = 300;
                                        }]]></script>);

        ExternalInterface.call(RESIZE_CONTAINER);
}

butt.addEventListener(MouseEvent.MOUSE_OUT, scrPlayUP);
function scrPlayUP(event:MouseEvent = null):void {
                var RESIZE_CONTAINER:XML = new XML(<script><![CDATA[
                                        function(height) {
                                                var objNode = document.getElementById('flashid');
                                                objNode.style.height = 100;
                                        }]]></script>);
        ExternalInterface.call(RESIZE_CONTAINER);
}

html

Код:


<embed type="application/x-shockwave-flash" src="resize.swf" id="flashid" name="flashid" quality="high" height="90" width="728"></embed>

без ява скриптов и т.д. ... надо это как нибудь в AS2 ...

Спасибо)

etc 10.04.2009 07:50

А в чем проблема переписать?

FMensk 10.04.2009 12:36

Код:

import flash.external.*;

butt.onPress = function () {
        var RESIZE_CONTAINER:XML = new XML("<script><![CDATA[function(height) {var objNode = document.getElementById('flashid');objNode.style.height = 300}]]></script>");
        ExternalInterface.call(RESIZE_CONTAINER); //Type mismatch.
}

butt.onRelease = function () {
        var RESIZE_CONTAINER:XML = new XML("<script><![CDATA[function(height) {var objNode = document.getElementById('flashid');objNode.style.height = 100}]]></script>");
        ExternalInterface.call(RESIZE_CONTAINER); //Type mismatch.
}

ExternalInterface - чем и как можно заменить на AS2 ..?

etc 10.04.2009 12:43

Собственно, такой класс есть в AS2. И потом, зачем там XML — непонятно.

FMensk 10.04.2009 13:35

Могли бы Вы натолкнуть на решение ... ну или пояснения дать какие нить...
а то как то не совсем улавливаю...

etc 10.04.2009 13:42

Боже мой, откройте хелп, вбейте туда ExternalInterface и вперед. Я не знаю, кто писал этот код, но он неверен в принципе. Зачем там XML, зачем теги script — непонятно.

MixailV 10.04.2009 16:55

Судя по всему тег script там для того, чтобы содержимое XML выполнилось в браузере как обычный ява-скрипт (без внешних функций в теле HTML, напрямую из флеш). Хотя странно, что это работает.


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

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