二行でFlashをオーバーレイ表示
Flexでオーバーレイ表示してみました。
こんな感じ
http://www.moeten.info/flex/20080809_outofFlash/
こちらのサイトさんのライブラリを使うと便利でっす。
http://f-site.org/articles/2006/09/09042615.html
使い方
HTMLでの書き方
<script type="text/javascript" src="overLayFlash.js"></script> <a href="main.swf" rel="overLayFlash" ver="8,0,0,0">クリックしてね!</a></p>
オーバーレイ用のjavascriptをインクルードして、アンカータグにoverLayFlashと追加するだけ。
これだけでっす。
ただ、これだけだと、Flash閉じれないので、閉じ方です。
Flexでの書き方
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" frameRate="16" backgroundAlpha="0.5" backgroundColor="0xffffff" backgroundGradientAlphas="[1.0, 0.0]" backgroundGradientColors="[#FF5454, #FF5454]" mouseDown="ExternalInterface.call('hideFlash')" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import mx.effects.easing.*; ]]> </mx:Script> <mx:Sequence id="myShow"> <mx:Zoom zoomHeightFrom="0.1" zoomWidthFrom="0.1" zoomHeightTo="1.0" zoomWidthTo="0.1" easingFunction="Back.easeInOut" duration="1000"/> <mx:Zoom zoomHeightFrom="1" zoomWidthFrom="0.1" zoomHeightTo="1" zoomWidthTo="1" easingFunction="Back.easeInOut" duration="1000"/> <mx:Rotate angleFrom="0" angleTo="360" easingFunction="Back.easeInOut" duration="1000"/> <mx:Glow blurXFrom="20" blurYFrom="20" blurXTo="5" blurYTo="5" color="0x00ff00"/> </mx:Sequence> <mx:Image id="myImage" source="@Embed('01.jpg')" width="316" height="277" x="92" y="68" creationCompleteEffect="myShow"/> </mx:Application>
ポイントとなるのがマウスクリックでFlashを閉じるところ
mouseDown="ExternalInterface.call('hideFlash')"
こんな感じでFlex側からjavascriptを呼び出して消去してもらいます。
夢広がるね(^−^)