FlashPlayer10未満ではフルスクリーンモード時、キーボードは使用できない。
FlashPlayer10以上で、限定的に使用可能。
擬似的なwidth="100%",height="100%"した場合はキーボードは有効。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body bgcolor="#ffffff" style="margin:0px;" onLoad="window.document.game1.focus();"> <object name="game1" id="game1" data="game1.swf" type="application/x-shockwave-flash" width="100%" height="100%" align="middle"> <param name="bgcolor" value="#FFFFFF"> <param name="loop" value="on"> <param name="quality" value="high"> </object> </body> </html>
Windows7 32bit IE8にFlash Player 10.1をインストールしようとして「ActiveXインストールエラー」の場合の対処方法です。
結論から言うと、「レジストリの該当セクションに所有権、書き込み権限がないため」でした。
これはFlashPlayerアンインストーラを実行しても、解決されない問題でした。
?=O====== M/10.1.102.64 2010-11-12+09-06-36.930 ======== 0000 [I] 00000010 "D:\tool\FlashPlayer\install_flash_player_ax.exe" 0001 [W] 00001036 Software\Macromedia\FlashPlayer\SafeVersions/10.0 2 0002 [W] 00001036 Software\Macromedia\FlashPlayer\SafeVersions/10.0 2 0003 [W] 00001037 SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Adobe Flash Player ActiveX/ 2 0004 [I] 00000013 C:\Windows\system32\Macromed\Flash\Flash10l.ocx 0005 [I] 00000015 C:\Windows\system32\Macromed\Flash\FlashUtil10l_ActiveX.exe 0006 [I] 00000016 C:\Windows\system32\Macromed\Flash\FlashUtil10l_ActiveX.dll 0007 [W] 00001032 C:\Windows\system32\Macromed\Flash\Flash10l.ocx 80070005 0008 [I] 00000018 0009 [E] 00001032 C:\Windows\system32\Macromed\Flash\Flash10l.ocx 80070005 =X====== M/10.1.102.64 2010-11-12+09-06-46.821 ========
regsvr32 C:\Windows\system32\Macromed\Flash\Flash10l.ocx
HKEY_CLASSES_ROOT\MacromediaFlashPaper.MacromediaFlashPaper
var _loader:Loader; loadClip(); function loadClip():void { _loader = new Loader(); _loader.load(new URLRequest("import.swf")); addChild(_loader); }
import flash.display.MovieClip; loadClip(); function loadClip():void { var mc:MovieClip = new SampleMC(); addChild(mc); }
on (press, keyPress"<Enter>") { loadVariables("test.php?mode=1&x=3&y=4 , _root); //mode=1:yとyの和を返す gotoAndPlay("testloop"); // 計算結果がPHP側から返ってくるまでループ }
<?php header("Content-type:text/plain"); $error=0; $result=null; $mode=intval($_GET['mode']); $x=$_GET['x']; $y=$_GET['y']; $result = ''; switch($mode){ case 1: $result = $x+$y; break; default: $error=-1; break; } echo sprintf('result=%s' .'&error=%s' , urlencode($result) , urlencode($error) );
2.0 | 3.0 |
_root.stop(); | this.stop(); |
Flashが再生できなくなった時、Adobeのページへ行って、再インストールするわけですがうまくいかない時の対処です。
私の場合は、IEでFlashPlayerインストールのページへ行っても、バージョン確認の部分が真っ白な画面になり、Flash上の右クリックメニューには「ロードに失敗しました」との表示され、何度やってもインストールできない状態でした。
以下の方法で解決できました。
NG <a href="/path/to/hoge.swf?PHPSESSID=phpsessid">SWF</a>
<a href="/path/to/phpsessid/hoge.swf">SWF</a>
fla形式でプレイヤーが公開されているもの。
onClipEvent (load) { X = this._x; Y = this._y; } onClipEvent (mouseMove) { Xm = _parent._xmouse; Ym = _parent._ymouse; Xdiff = Xm - X; Ydiff = Ym - Y; radAngle = Math.atan2(Ydiff, Xdiff); this._rotation = radAngle * 360 / 6.283185; updateAfterEvent(); }