Сделать изображение динамически отображаться во FLASH - PullRequest
0 голосов
/ 13 января 2011

Я новичок во флэш-памяти, но у меня есть код перетаскивания для моих видеоклипов, и поэтому я могу манипулировать ими таким образом.Но я хотел бы иметь возможность отображать изображение в зависимости от того, где пользователь нажимает на сцену фильма.Каким был бы код, который загружает изображение onClick на мышь X и Y?Спасибо

Ответы [ 2 ]

2 голосов
/ 13 января 2011

Код, который вы ищете, немного отличается от другого ответа.

import flash.display.Loader;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLRequest;

var loader:Loader;
var toLoad:URLRequest;

stage.addEventListener(MouseEvent.CLICK, clicked, false, 0, true);

function clicked(evt:MouseEvent):void
{
    //if loader already exists, remove it from stage
    if(loader)
    {
        removeChild(loader);
    }
    loader = new Loader();
    toLoad = new URLRequest("image.png");
    loader.load(toLoad);
    addChild(loader);
    //listen for when load completes
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCompleted, false, 0, true);
}

function loadCompleted(evt:Event):void
{
    //center to mouse position
    loader.x = (mouseX - (loader.contentLoaderInfo.width)/2);
    loader.y = (mouseY - (loader.contentLoaderInfo.height)/2);
}
0 голосов
/ 13 января 2011

Я в основном разработчик Flex, но этот фрагмент кода AS3 должен хорошо работать и во Flash:

addEventListener(MouseEvent.CLICK,myMouseHandler);

private function myMouseHandler(event:MouseEvent):void
{
    var swfLoader:SWFLoader=new SWFLoader();
    swfLoader.source="http://www.google.com/images/logos/ps_logo2.png";
    swfLoader.x=mouseX;
    swfLoader.y=mouseY;
    addChild(swfLoader); //note in flex 4 adding to container need to use addElement otherwise this code executes in there fine as well.
}

Документация для AS3 довольно полная и может быть найдена здесь: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html они хорошо поработали с этой версией документации, предоставив вам фильтры в верхней части страницы, чтобы видеть только элементы, доступные только во Flash, с использованием среды Flex или с помощью AIR. Краткий обзор того, как все это связано: AS3 - это язык сценариев, используемый для написания кода, который компилируется в так называемый байт-код AS3 (обычно все это в файле с расширением swf или swc), который затем интерпретируется плагином Flash в браузер. MXML - это «декларативный язык разметки», по внешнему виду он очень похож на HTML, использующий теги и вложенность для представления отношений родитель / потомок (оба они свободно XML), MXML компилируется в AS3, а затем в байт-код AS3 и снова интерпретируется флэш плагин. Приятно, что во Flex есть много предустановленных компонентов, а среда создает надежный набор правил для того, как вы можете создавать расширяемые компоненты с четко определенным жизненным циклом (вы знаете, что он создается один раз, вы знаете, только для обновления). части, которые требуют обновления, т.е. createChildren, commitProperties, measure и т. д.). AIR представляет собой интегрированную среду выполнения Adobe, которая в основном представляет собой Flash Player для настольного компьютера, где она может находиться за пределами браузера и, следовательно, не ограничена функциональностью, разрешенной браузером (из-за проблем безопасности браузером блокируется множество операций), в основном AIR - это вкусности, связанные с Flex + Desktop. Я знаю, что это больше, чем вы просите, но я надеюсь, что вы найдете эту информацию полезной.

Удачи,

Shaun

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...