flashplayerの有無判別

2010年1月7日

カテゴリー: Flash, JavaScript — admin @ 4:46 PM

flashplayerの有無判別は非常にややこしい・・・。どこかのサイトにあったものをコピペではっておく。

JavaScript:
  1. function FlashPlayerVer(){
  2.     //初期設定
  3.     var flashplayer_ver = 0;
  4.     //IE以外の場合
  5.     if(navigator.plugins && navigator.mimeTypes['application/x-shockwave-flash']){
  6.         var plugin = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
  7.         //Flash Playerがインストールされている場合
  8.         if(plugin){flashplayer_ver = parseInt(plugin.description.match(/\d+\.\d+/));}
  9.     }
  10.     //IEの場合、もしくはFlash Playerがインストールされていない場合
  11.     else{
  12.     //IEでFlash Playerがインストールされている場合
  13.     try{
  14.         var flashOCX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").match(/([0-9]+)/);
  15.         if(flashOCX){flashplayer_ver = parseInt(flashOCX[0]);}
  16.     }catch(e){}
  17.     }
  18.     //Flash Playerがインストールされていない、もしくはバージョンが6以下の場合
  19.     if(flashplayer_ver <= 6){flashplayer_ver = 0;}
  20.     return flashplayer_ver;
  21. }

FlashPlayerVer() を実行したときに 0 が返ってきたら入っていないということに。
他にもいろいろJSあるけど、これシンプルで結構好き。

mixiのFlash広告、こういうの流行ってるのかねぇ

2009年12月2日

カテゴリー: Flash — admin @ 12:41 AM

これこれ。またmixiのあしあとページのFlash広告。
流行ってるのかねぇ、こういう見せ方。

google_ad

ActionScript3.0でiPhoneアプリ開発がAdobe CS5で実現!?

2009年10月9日

カテゴリー: ActionScript3, Flash — admin @ 1:43 AM

ActionScript3.0、はじまったな・・・。
iPhoneアプリをObjective-CじゃなくてもAS3で開発できちゃうってんなら、かなり敷居が下がりまくりだよね。

Flash Professional CS5(英語サイト)
Flash Professional CS5 のアナウンスと iPhone

こんなことができるらしい。

  • AS 3 のプロジェクトから iPhone, iPod Touch 用アプリケーションの書き出し
  • Text Layout Framework (TLF) を用いた新規のテキストコントロールによる新しい表現
  • XML ベースの FLA ファイル (ソース管理システムを使ったバージョン管理が可能に)
  • コードスニペットパネル (事前に作成済みのコードをプロジェクトでそのまま利用)
  • Flash Builder の統合 (ActionScript エディタとして使用できる)
  • ActionScript エディタの改良 (コードヒントや自動補完機能など)

これはActionScript3.0の開発者が一気に増えそうな予感がしまくりんぐですよ!

それに比べ、googleのAndroid使ったみましたが、動きはもっさりだし、あいつイマイチっす。やっぱりJavaってとこがあかんじゃないのかなー。重いし、iPhoneに慣れてしまっていると、どうしてもiPhoneと同じような操作しちゃうんだけど、けっこう融通が利かない。ユーザビリティもいまいちでwebブラウジングもイマイチだし、売れても流行らないと思う。結果、売れないと思う。

JavaScriptやってる人は今からActionScript3.0にどっぷりいっちゃって良いと思うよ!(^ω^)

フルFlashのサイトにHTMLフッターをつけてみる

2009年10月2日

カテゴリー: Flash, JavaScript — admin @ 4:39 PM

フルFlashのサイトに対して、HTMLフッターをつけたいという要望があったので、つけてみることにした。
Flashの埋め込み方は、swfobject.js(versionは1.5)を使って埋めてみた。

HTML:
  1. <div id="content"><!-- ここにFlashがロードされます --></div>
  2. <script type="text/javascript" src="js/swfobject.js"></script>
  3. <script type="text/javascript">
  4. // <![CDATA[
  5.  
  6. var so = new SWFObject('swf/sample.swf', 'website', '100%', '100%', '9', '#ffffff');
  7. so.useExpressInstall('swf/expressinstall.swf');
  8. so.write('content');
  9.  
  10. // ]]>
  11. </script>

これでFlashがフルサイズで読み込まれる。

さて、今回はこれに対して、Flashの下に20pxばかりのHTMLでつくったフッターを埋め込みたい。
実装内容は下記の通り。

Flashを表示するエレメントの親要素に、全体レイアウトを設定する<div id="wrapper">を追加。この要素が実際にリサイズすることになる。
ウィンドウのサイズを取得して、それから20px引き、下部にHTML部分がピタっと出現するつくりにする。
フッターは、常にウィンドウ下部に固定することにする。

HTML:
  1. <div id="wrapper">
  2. <div id="content"><!-- ここにFlashがロードされます --></div>
  3. </div>
  4. <div id="footer">HTMLフッター部分</div>
  5. <style type="text/css">
  6. body {
  7.     position: relative;
  8. }
  9. #footer {
  10.     width: 100%;
  11.     height: 20px;
  12.     background: #000;
  13.     position: absolute;
  14.     left: 0;
  15.     bottom: 0;
  16.     color: #fff;
  17. }
  18. </style>
  19. <script type="text/javascript" src="js/swfobject.js"></script>
  20. <script type="text/javascript">
  21. // <![CDATA[
  22.  
  23. var so = new SWFObject('swf/sample.swf', 'website', '100%', '100%', '9', '#ffffff');
  24. so.useExpressInstall('swf/expressinstall.swf');
  25. so.write('content');
  26. (function(){
  27.     var resizeTo = function(e){
  28.         var winHeight = document.all ? (document.body.clientHeight - 20) : (window.innerHeight - 20);
  29.         var wrapper = document.getElementById(e);
  30.         wrapper.style.width = '100%';
  31.         wrapper.style.height = winHeight + 'px';
  32.     }
  33.     window.onload = function(){
  34.         resizeTo('wrapper');
  35.     }
  36.     window.onresize = function(){
  37.         resizeTo('wrapper');
  38.     }
  39. })();
  40.  
  41. // ]]>
  42. </script>

これでHTML要素のフッターを下部に維持しつつ、フルFlashを実現できる。
ってか、20pxあいてる時点でフルFlashじゃないじゃん!とかいう突っ込みはやめて~w

ケータイ番号で似顔絵

2009年9月9日

カテゴリー: Flash — admin @ 1:26 AM

ソフトバンクの乗り換えキャンペーンサイト

これ面白いけど、おれメガネかけてないし!髪ロン毛だし!w
にてないわぁ。

アド広告 – mixi Flash編

2009年8月9日

カテゴリー: Flash — admin @ 4:27 PM

mixiで面白いアド広告を見つけた。

これ、3箇所の広告スペースがあるんだけど、その全部を使ってFlashを埋め込んでいる。
で、この3箇所のスペースのFlashが連動して動いている。

これはなかなか面白いなぁと思ったので書き留めてみた。

.asファイルを外部で読み込む

2009年6月10日

カテゴリー: ActionScript3, Flash — admin @ 6:04 PM

FlashのActionScriptエディタがものすごく使いにくいので、EmEditorで編集できるようにする。
方法は簡単。ASで実行したいパーツにinclude文を書くだけ。

Actionscript:
  1. include "sample.as";

パスは相対パスで合わせればおk。

ActionScript3を入門してみた。

2009年3月19日

カテゴリー: ActionScript3, Flash — admin @ 2:00 AM

ActionScript3を入門してみた。

Actionscript:
  1. /*******************************
  2. *
  3. *  Hello world ActionScript
  4. *
  5. */
  6.  
  7. /*==============================
  8. *  型のないCorpオブジェクトの定義
  9. */
  10. var Corp = {
  11.   //名前を定義
  12.   setName: 'no name',
  13.  
  14.   //setNameプロパティを出力する関数を定義
  15.   traceName: function(){
  16.     trace(this.setName);
  17.   }
  18. }
  19.  
  20. /*  CorpオブジェクトのtraceNameメソッドを実行すると、
  21. *  デフォルトで定義されている &quot;no name&quot; が出力される。
  22. */
  23. Corp.traceName();
  24.  
  25.  
  26. /* CorpオブジェクトをfunnyCorpオブジェクトに代入。
  27. */
  28. var funnyCorp = Corp;
  29.  
  30. /*  setNameプロパティに &quot;funnythingz&quot; を代入。
  31. */
  32. funnyCorp.setName = 'funnythingz';
  33.  
  34. /*  funnyCorpオブジェクトのtraceNameメソッドを実行すると、
  35. *  上記で代入された &quot;funnythingz&quot; が出力される。
  36. */
  37. funnyCorp.traceName();
  38.  
  39. /*  ただし、ただの代入のため、CorpオブジェクトのtraceName();を
  40. *  実行しても同じ結果として、&quot;funnythingz&quot; が出力される。
  41. */
  42. Corp.traceName();

結局、ASっぽいことやってないので、JSと書き方がまったく同じです。
しかも特にクラスベースっぽいことも何もしてない。

これからがんばることにするお!