2012-05-10 3 views
0

J'ai besoin d'aide avec la bannière flash. J'ai besoin de faire un bouton dans la bannière qui cache div, j'ai trouvé un moyen de le faire en AS2, mais je dois utiliser AS3, je ne sais pas du tout ActionScript du tout, j'ai besoin de votre aide.bouton Flash masquer un DIV AS3

J'ai trouvé ce code, malheureusement, il est en 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> 

Mon bouton nom d'instance est "closeBt" et je voudrais cacher div "#flashcontainer"

Aide-moi s'il vous plaît.

MISE À JOUR

mon code 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"); 
} 

et mon corps 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 est sur le calendrier, je n'ai pas de compétences sur AS, AS2 ou AS3, je aime cacher div avec bannière si proche btn fermerait la bannière

+0

j'ai trouvé une fonction d'erreur hideDiv (opérateur) fonctionne pas hideDiv ("opérateur") je ne sais pas ce que je pensais – gidzior

Répondre

1

Dans AS3, cela ressemblerait à ceci:

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

closeBt.addEventListener(MouseEvent.CLICK, clickHandler); 

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

Ce code suppose que vous ajoutez votre script au scénario. Si vous utilisez une classe de document, vous devez ajouter un modificateur "private" avant "function". Vous avez mentionné que vous n'avez pas beaucoup d'expérience en AS3, donc la chronologie sera la voie à suivre pour l'instant. Mais, regardez dans Classes si vous devenez sérieux au sujet de AS3.

+0

rien ne se passe: [Je vais éditer ma question any sec – gidzior

+0

Je, essayant de mettre en place le bouton de sortie dans la bannière flash – gidzior

+0

Essayez d'ajouter un appel de suivi dans votre clickHandler pour confirmer que le bouton est cliqué. Ajoutez également if (ExternalInterface.available) avant de lancer l'appel ExternalInterface, comme dans l'exemple de @ Baris. – 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

Essayez ce morceau de code AS3:

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