2012-05-10 12 views
0

私はフラッシュバナーでいくつかの助けが必要です。私はdivを隠すバナーでボタンをする必要があります。私はAS2でそれを行う方法を見つけましたが、私はAS3を使う必要があります。私はActionScriptを全く知らないので、あなたの助けが必要です。フラッシュボタンを隠すDIV AS3

私は残念ながらそれはAS2でだ、このコードを発見しました:

on (release) { 
import flash.external.ExternalInterface; 
ExternalInterface.call("hideDiv", "operator"); 
} 

<script type="text/javascript"> 
function hideDiv(id) 
{ 
    document.getElementById(id).style.display = 'none'; 
} 
</script> 

マイボタンのインスタンス名は「closeBt」であると私は私を助けて

DIV「#flashcontainer」をしてください非表示にしたいと思います。

UPDATE

私のAS3コード

import flash.external.ExternalInterface; 
import flash.events.MouseEvent; 


var myStage:Stage = this.stage; 
myStage.scaleMode = StageScaleMode.NO_SCALE; 
myStage.align = StageAlign.TOP_LEFT; 

function resizeDisplay(event:Event):void{ 

    var swfWidth:int = myStage.stageWidth; 
    var swfHeight:int = myStage.stageHeight; 

    var flagaYPos:Number = swfHeight - flaga.height; 
    var flagaXPos:Number = swfWidth - flaga.width; 

    flaga.y = 40.75; 
    flaga.x = -31.4; 

} 

myStage.addEventListener(Event.RESIZE, resizeDisplay); 

closeBt.addEventListener(MouseEvent.CLICK, clickHandler); 

trace("Button has been Clicked"); 

function clickHandler(e:MouseEvent):void { 
    if(ExternalInterface.available) 
    ExternalInterface.call("hideDiv", "operator"); 
} 

と私のhtml体

<body style="margin:0; padding:0"> 
<script> 
function hideDiv("operator") 
{ 
    document.getElementById("operator").style.display = 'none'; 
} 
</script> 
<div id="operator"> 
<!--url's used in the movie--> 
<!--text used in the movie--> 
<!-- saved from url=(0013)about:internet --> 
<script language="JavaScript" type="text/javascript"> 
    AC_FL_RunContent(
     'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0', 
     'width', '100%', 
     'height', '100%', 
     'src', 'Kopia baner01', 
     'quality', 'high', 
     'pluginspage', 'http://www.adobe.com/go/getflashplayer', 
     'align', 'top', 
     'play', 'true', 
     'loop', 'true', 
     'scale', 'noscale', 
     'wmode', 'transparent', 
     'devicefont', 'false', 
     'id', 'Kopia baner01', 
     'bgcolor', '#ffffff', 
     'name', 'Kopia baner01', 
     'menu', 'true', 
     'allowFullScreen', 'false', 
     'allowScriptAccess','sameDomain', 
     'movie', 'Kopia baner01', 
     'salign', 't' 
     ); //end AC code 
</script> 
<noscript> 
     <object style="display: none" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="100%" height="100%" id="Kopia baner01" align="top"> 
     <param name="allowScriptAccess" value="sameDomain" /> 
     <param name="allowFullScreen" value="false" /> 
     <param name="movie" value="Kopia baner01.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="t" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" /> <embed src="Kopia baner01.swf" quality="high" scale="noscale" salign="t" wmode="transparent" bgcolor="#ffffff" width="100%" height="100%" name="Kopia baner01" align="top" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /> 
     </object> 

</noscript> 
    </div> 
</body> 

タイムライン上にあるように、私は私がだろう、AS、AS2またはAS3上の任意のスキルを持っていませんバナーでdivを隠すようにしてください。閉じるbtnはバナーを閉じます。

+0

私は、誤差関数hideDiv(オペレータ)が、私はたまたま – gidzior

答えて

1

AS3では、次のようになります。

import flash.external.ExternalInterface; 
import flash.events.MouseEvent; 

closeBt.addEventListener(MouseEvent.CLICK, clickHandler); 

function clickHandler(e:MouseEvent):void { 
    ExternalInterface.call("hideDiv", "operator"); 
} 

このコードでは、スクリプトをタイムラインに追加していることを前提としています。ドキュメントクラスを使用している場合は、 "関数"の前に "private"修飾子を追加します。 AS3での経験はあまりないとおっしゃったので、タイムラインが今のところ行く方法になります。しかし、AS3について真剣に考えているなら、クラスを調べてみてください。

+0

何も考えてなかったのか分からないhideDiv(「演算子」)機能しませんが見つかりました: [私はいつでも私の質問を編集します – gidzior

+0

フラッシュバナーの終了ボタンを設定しようとしています – gidzior

+0

ボタンがクリックされたことを確認するためにclickHandlerでトレース呼び出しを追加してみてください。また、@ Barisの例のように、ExternalInterfaceを呼び出す前にif(ExternalInterface.available)を追加します。 – Corey

1
private function init():void 
{ 
    closeBtn.addEventListener(MouseEvent.CLICK,onClick); 
} 


private function onClick(e:MouseEvent):void 
{ 
    if(ExternalInterface.available) 
     ExternalInterface.call("hideDiv","operator"); 
} 
0

AS3コードのこの部分を試してみてください:

import flash.external.ExternalInterface; 
closeBt.addEventListener(MouseEvent.CLICK, clickHandlerButton); 
private function clickHandlerButton(e:MouseEvent):void{ 
    if(ExternalInterface.available) ExternalInterface.call("hideDiv","flashcontainer"); 
} 
関連する問題