Macromedia Flash非公式テクニカルノート
asfunction
ID: FN0110011 |
Product: Flash |
Platform: All
Version: 5.0 and above
シンタックス
asfunction:function, パラメータ
[訳者註] MXおよびMX 2004のオンラインヘルプでは、「asfunction:function,
"parameter"」と引数パラメータ(parameter)にダブルクォーテーション(")がついています。これは、引数がストリングで渡されることを示していると考えられます。しかし、'asfunction'プロトコルそのものが、ストリングとして渡されます。したがって、引数パラメータには、実際上ダブルクォーテーションをつけません。 |
引数
function 'function'の名前(識別子)。
パラメータ 引数functionで指定した'function'に渡すストリング。
戻り値
なし。
説明
プロトコル; HTMLテキストフィールドのURLに関する特別のプロトコル。HTMLテキストフィールドでは、テキストはHTMLのAタグを使って、ハイパーリンクにすることができます。AタグのHREF属性には、HTTPやHTTPS、FTPなどの標準プロトコルのURLが指定できます。'asfunction'プロトコルは、Flash専用の追加プロトコルで、リンクからActionScriptの'function'を実行することができます。
Player
Flash 5以降。
例
このサンプルでは、MyFuncという'function'がスクリプトの最初の3行で定義されています。TextFieldオブジェクトmyTextFieldは、HTMLテキストフィールド[*1]に設定されています。テキストの"Click
Me! "は、テキストフィールドの中のハイパーリンクです。'function'のMyFuncは、ハイパーリンクをクリックすると呼び出されます。以下が、そのスクリプトです。
[訳者註*1]「HTMLテキストフィールド」とされているのは、[プロパティインスペクタ]で[テキストをHTMLとしてレンダリング]をオンに設定しておくことを意味するものと思われます。あるいは、'TextField.html'プロパティを'true'に設定すれば、スクリプトで同じ処理を行うことができます(以下のサンプルに[訳者挿入]としてステートメントを追加)。 |
function MyFunc (arg) {
trace ("クリックされました! 引数は"+arg);
}
myTextField.html = true; // [訳者挿入] スクリプトでHTMLレンダリングをオンに設定
myTextField.htmlText = "<A HREF='asfunction:MyFunc,Foo'>Click
Me!</A>";
ハイパーリンクをクリックすると、以下の結果が[出力]ウィンドウに表示されます。
クリックされました! 引数はFoo
[訳者註] MX
2004のオンラインヘルプでは、サンプルスクリプトで'TextField.htmlText'プロパティに設定するテキストが、つぎのようにダブルクォーテーション(")をエスケープせずに用られています。これは、シンタックスエラーになります。
myTextField.htmlText
="<A HREF="asfunction:MyFunc,Foo ">Click
Me!</A>";
英語版ではこの誤りが修正され、つぎのように記載されています。
myTextField.htmlText ="<A HREF=\"asfunction:MyFunc,Foo \">Click
Me!</A>";
バックスラッシュ(\: HTMLでの表示上全角を使用しています)は、日本語環境では円記号(\)で替えます。ところが、MacOS X環境では、ダブルクォーテーション(")を\でエスケープしようとすると、シンタックスエラーが発生してしまいます(\を使用しなければならないようです)。ですから、上記サンプルは訳者の判断により、シングルクォーテーション(')を用いています。
|
出典
ActionScript
Dictionary (Flash
MX 2004英文改訂版)より邦訳。
_____
作成者: 野中文雄
更新日: 2003年12月17日 Flash MX 2004の「ActionScript Dictionary」(英文改訂版)を元に字句の修正および訳者註追加
更新日: 2003年8月8日 Flash MXの「ActionScript Dictionary」(英文改訂版)を元に字句の修正
作成日: 2001年10月19日
Copyright © 2001-2003
Fumio Nonaka. All rights reserved.
|