だいぶごぶさたしてました。。。最近はJavaScriptやCSSを触ることが増えてきましたけど、久しぶりにFlashについて書こうとおもいます。ActionScript3になってから正規表現がサポートされましたが、ActionScript2、1では使うことができません。それを使えるようにするライブラリを見つけたので簡単に紹介します。
ライブラリ配布サイト:http://www.jurjans.lv/flash/RegExp.html
ここのページで、まず最初にはまってしまいましたのが、AS1とAS2で使用するライブラリの種類が違いました。
AS1用:RegExp.zip
AS2用:RegExp_JLott.zip
このzipファイル名を探してダウンロードしてください。解凍したzipファイルの中にあるasファイルをドキュメントルートに設置して、スクリプトで読み込めるようにしておいてください。
RegExサンプルコード AS2 ActionScript 1
2
3
4
import RegExp; var regexp = new RegExp("([^?]*)");//←括弧のなかに正規表現パターンを入れる result1 = regexp.exec("ここにテキストを入れる");//パターンにマッチした部分を摘出 result2 = "検索する文字列".replace(regexp,"置き換えたいテキスト");//パターンにマッチした置き換え いろんな参考ページをみたときに、new RegExpの第2引数になんらかのStringを入れていましたが、いまいち用途もわからず、なくても正しく動きましたので今回は省きました。
RegExサンプルコード AS1 ActionScript 1
2
3
4
#include "RegExp.as" var regexp = new RegExp("([^?]*)");//←括弧のなかに正規表現パターンを入れる result1 = regexp.exec("ここにテキストを入れる");//パターンにマッチした部分を摘出 result2 = "検索する文字列".replace(regexp,"置き換えたいテキスト");//パターンにマッチした置き換え 正規表現というのはとても便利でいいんですが、僕はいまいち使いこなせていないです。。^^;
HTML5の新機能、Canvasタグのelement(要素)、Attributes(属性)、Methods(関数)の一覧をまとめたCheat Sheet(チートシート)をまとめたページを発見しました。
元ページ:HTML5 Canvas Cheat Sheet v1.x
URL:http://simon.html5.org/dump/html5-canvas-cheat-sheet.html
まだバージョンが1.xになっているので今後増えていきそうですね。
iPhone用のページを作成する時は、PCブラウザ用のHTMLファイルのマークアップはそのままでCSSのみiPhone用に作成して、テンプレートを共通化させておきたいものです。
今回紹介するのは、エイチツーオー・スペースが配布を開始した、Dreamweaver CS4/5用のextension(機能拡張)でiPhone向けサイトの手助けをするツールの紹介です。最初にiPhone用のテンプレートを選択し、iPhoneのデザイン風にCSS3でレイアウトされ、Device Centralで表示確認できる流れで制作ができるみたいです。
配布元:iPhone site extension for Dreamweaver CS4/5 | エイチツーオー・スペース[H2O Space.]
http://h2o-space.com/web/product/iphone_dw/
ActionScriptで3DCGアニメーションや3Dゲームを作るために欠かせない、Papervision3Dの日本語ドキュメントが公開されてましたのでメモします。
Papervision3D™ 2.1 日本語 リファレンスガイド
http://papervision3d-jp.googlecode.com/svn/trunk/docs/index.html
papervision3d-jp(プロジェクト)
http://code.google.com/p/papervision3d-jp/
Q.納品されたswfファイルが開けません A.ローカル(StanndAlone)でswfを再生できるFlash Playerは無料配布されてませんので、Flash Playerがインストールされたブラウザにドラッグアンドドロップして確認してください。
Q.ブラウザにswfファイルをドラッグアンドドロップしましたが、サイズが違います。 A.htmlに乗せていないswfファイルは、縦横サイズが指定されていないので、ブラウザウインドウの幅の分だけ拡大します。原寸サイズで確認する場合はhtmlに貼り付けて、htmlから確認してください。
Q.Flash Playerをインストールしているのに、Flashが表示されません! A.(JavaScriptでswfを表示させている場合)JavaScritpがOFFではありませんでしょうか?swfを表示するために、swfobject.jsというJavaScritpを使用していますので、確認する際にはJavaScritpをONにしてください。
Q.修正したswfファイルが、更新されてないみたいなんですが。 A.swf配信後、更新前のキャッシュファイルが残っている可能性があります。ブラウザのキャッシュを消してから確認してみてください。
Q.外部XMLを更新、配信したんですが反映されません。 A.swfの修正更新ではなく、外部XMLを用いている場合、Flash側でキャッシュ対策がされてない場合があります。Flash制作者へお問合せください。
Q.外部から読み込んでいる画像が表示してません。 A.読み込んでいる画像のURLに直接アクセスしてみてください。そこに画像はありますか?
Q.Flashが出てなくて真っ白です。 A.真っ白いという状況は複数の原因が考えられますので、まず、そのFlashが表示されるはずの真っ白い場所を右クリックしてみてください。Flashのコンテキストメニューが表示されなかったらFlash Playerがインストールされてないか、HTMLの記述に間違いがあります。まずはそこを確認してから他の原因を調べます。
Q.IEではFlashが見れますが、FirefoxではFlashが表示されません(その逆の場合も) A.見られてないブラウザにFlash Playerがインストールされていない可能性があります。IEとFierfoxとでは、各ブラウザごとにFlash Playerのインストールが必要ですので、見られないブラウザでAdobeのサイトからFlash Playerをインストールしてください。
http://get.adobe.com/jp/flashplayer/
Q.ページ内リンクからブラウザの戻るボタンで、Flash Playerが正しく再生されない A.ブラウザによって「戻る」ボタンの仕様がちがい、全てに当てはまるとは限りませんが、Flashのタイムラインが進んでしまってる状態のまま「戻る」可能性があるので、1フレーム目にXMLや画像を読み込むActionScriptを記述していると、その1フレーム目のActionScriptが実行されていないまま、フレームが進んでいる状態に戻っている可能性が高いと思います。ページ内リンクからブラウザの戻るボタンで、Flash Playerが正しく再生されないを参考にしてみてください。
Q.FlashPlayerは潜在的に危険な操作を停止してしまいます。 HTTP環境外、例えばローカルとかからFlashを再生してリンクを確認する時、セキュリティが働いてページ遷移しない設定になっています。FlashPlayerは潜在的に危険な操作を停止しましたの回避策を参考にしてみてください。
HTMLにswfファイルを貼り付けてブラウザで見るときに、場合によってはHTMLに書いておいた値やパラメータをFlashの変数に渡してあげたいときがあると思います。Flash内を更新したいときや、ちょっとした汎用性のあるコンテンツを作るときに、Flashアプリケーションがインストールされていない環境でも、Flashの更新をしたりする時に便利です。色々ある方法の中で一番シンプルな方法、swfobjectを使って、ActionScriptにどう書けばいいのか紹介します。
swfobjectを使ってパラメータを設定する場合 swfobjectの使い方はswfobject v2.xの使い方を参考にしてみてください。
Flashコンテンツの背景色を色々変更したいという例えで紹介します。HTMLに書くswfobjectの書き方のイメージはこんな感じにします。
HTML 1
2
3
4
5
6
7
8
<script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript"> <!-- var flashvars = {bgColor: "FF0000"};//←背景色 var params = {allowscriptaccess: "always"}; swfobject.embedSWF("flash.swf", "flashContent", "100", "100", "8", "", flashvars, params,attributes); //--> </script> flashvarsに変数名「bgColor」を書いて、値である16進数の「FF0000」を書いてみました。
ではActionScriptではどのように書くか
ActionScript2.0以下でflashvarsを取得する場合 ステージ全部に収まるシェイプを作って、今回の例では100x100の正方形のMovieClipを作ってステージに配置します。インスタンス名を「bg」としました。第1フレームに下記のActionScriptを書きます。
ActionScript 1
2
3
var color_obj = new Color(bg);// カラーオブジェクトを作成する var colorStr = "0x"+_root.
ActionScript3.0から、Flash領域内で右クリックしたときに出るコンテキストメニューを非表示にすることができるようになりました。
ActionScript3 1
2
3
import flash.ui.ContextMenu; var menu_mc = new ContextMenu(); menu_mc.hideBuiltInItems(); 拡大縮小や描画領域を表示させるのはユーザーの方に見せる必要がないと思い消してもいいと思いますが、コンテンツによってはセキュリティーの設定項目と、Flash Playerとは。のメニューは残しておいたほうがいいかもしれへんなぁーっと個人的には思いました。