2011-01-13 14 views
0

私は新しいですが、私はムービークリップのドラッグアンドドロップコードを持っているので、このように操作できます。しかし、私は、ユーザーがムービーシーンをクリックした場所に応じて画像を表示できるようにしたいと考えています。マウスのXとYで、画像、onClickをロードするコードは何でしょうか?おかげイメージを動的にFLASHに表示

+0

また、その場所に元のムービークリップを維持し、それが「ドロップ」されたムービークリップの画像を残して、私のドラッグを使用して、アルゴリズムをドロップするだけとして有用であろう。.. –

答えて

0

は、私は主の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は基本的にはブラウザの外に居ることができるデスクトップ用のフラッシュプレーヤーであるため、ブラウザで許可されている機能に制限されていない(ブラウザの操作がセキュリティ上の問題を抱えているため)基本的にAIRはFlex + Desktop関連の機能です。私はこれがあなたの求めるもの以上のものだと知っていますが、この情報が役立つことを願っています。

幸運、

ショーン

+0

を私は、SWFLoaderコンポーネントのみが利用可能であると考えていますFlexで。 Flex以外のActionScriptでは、Matt McDonaldの例のように、通常はローダーを使用します。 –

+0

@Lars Ugh、ここに私自身の助言に耳を傾けて、ドキュメンテーションページのフィルタを使用してください、フォローアップのおかげで。とにかくこれはすべて役に立ちました。 – shaunhusain

+0

サポート担当者には問題ありません。便利なもの。 –

2

あなたが探しているコードは、他の回答から少し異なります。

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); 
} 
関連する問題