お世話になります。
Flashのアクションスクリプトを勉強しはじめた者です。
参考書を読んで勉強をしているのですが、唐突にinit();関数?
が出てきて、説明もないので、何を行うための関数なのか分らず困っております。
他の方の質問を見させて頂き、動作的には「初期化」をする関数なのかなぁ?とは思っておりますが、なぜ、初期化が必要なのか?これをしないと、どうなってしまうのか?参考書に何の説明がなく、困惑しております。
私が理解をしていないため、質問の仕方も下手だと思いますが、ご教授いただければと思っております。よろしくお願い致します。
状況としてはプログレスバーを作る勉強をしています。
ソースは以下になります。
----------------------------------------
var percentText:TextField;
var clipLoader:MovieClipLoader;
var loadingListener:Object;
init();
function init():Void
{
clipLoader = new MovieClipLoader();
loadingListener = new Object();
loadingListener.onLoadProgress = updateProgress;
loadingListener.onLoadInit = finishProgress;
clipLoader.addListener( loadingListener );
}
function loadTarget( targetFile:String, targetMovie:MovieClip ):Void
{
setPercent( 0 );
clipLoader.loadClip( targetFile, targetMovie );
}
function updateProgress( target:MovieClip, loaded:Number, total:Number ):Void
{
var percent:Number = Math.floor( loaded / total * 100 );
setPercent( percent );
}
function finishProgress():Void
{
setPercent( 100 );
}
function setPercent( percent:Number ):Void
{
percentText.text = percent.toString();
}
-----------------------------------------------
No.1ベストアンサー
- 回答日時:
> 唐突にinit();関数?
順番から言えば唐突ですが,
そのすぐ下の行に
function init():Void
{ …
と続いているではありませんか。
init(); とは,
「ユーザ定義関数 function init() を実行しなさい。」
ということです。
つまり,
init はそのスクリプトの作者が勝手に作った(勝手に定義した)関数名で,
後にカッコを付けた init() は その init関数 を実行する ということです。
ちなみに,その init の内容に注釈を入れると次のようになります。
// ユーザ定義関数 init を定義 : 戻り値なし
function init():Void
{
// MovieClipLoaderクラスのインスタンス clipLoader を作成
clipLoader = new MovieClipLoader();
// ロードを監視するためのオブジェクト loadingListener を作成
loadingListener = new Object();
// ロード中は updateProgress を実行
loadingListener.onLoadProgress = updateProgress;
// ロード完了時には finishProgress を実行
loadingListener.onLoadInit = finishProgress;
// clipLoader のリスナー(監視人)として loadingListener を登録
clipLoader.addListener( loadingListener );
}
BlurFiltan様
大変。丁寧で分かりやすい回答をいただき、ありがとうございました!おかけですっきりしました。
モヤモヤしたまま参考書を読み進めていましたが、これで、より理解しながら読みすすめられそうです。
また、その後のスクリプトの説明まで記載して頂き、大変感謝しております。
BlurFiltan様のように一人前にスクリプトを使いこなせるように頑張りたいと思います!
ご回答いただき、ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 変数のスコープの問題? 3 2022/06/23 09:32
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript gasについて 1 2022/05/31 21:51
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- JavaScript 定積分の近似値を計算する関数composite_newton_cotesをつくりたい 1 2023/01/18 14:09
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
idを使わずにonclickで自身の要...
-
関数でy=g(x)のgとは何の略です...
-
要素名がスペースを含む場合のj...
-
【jQuery】for文ではイベント登...
-
phpでの文字の点滅表示
-
functionから別のfunctionを実...
-
jslintのエラーについて質問
-
【JavaScript】変数の出力について
-
シューティングゲームの作り方
-
XMLHttpRequestオブジェクトが...
-
jQueryでzipを解凍読み込みする...
-
JAVAスクリプトで指定時間以降...
-
同じIDで定義した要素の配列を...
-
Boolean型配列中のTrueの有無を...
-
jspからjavascriptの変数引継ぎ
-
DOM要素を削除しても、イベント...
-
C#OpenCv V4にのエラーに関する...
-
innerHTML実行後のイベント
-
C#テキストボックスの文字を配...
-
ActiveXobjectが作成できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
関数でy=g(x)のgとは何の略です...
-
jslintのエラーについて質問
-
クリックすると上に開くアコー...
-
XMLHttpRequestでキャッシュを...
-
ajax反映後のjqueryが動かない
-
function(e)の意味を教えてくだ...
-
要素名がスペースを含む場合のj...
-
jQueryの :not() .not() が有効...
-
jQueryでzipを解凍読み込みする...
-
関数名をテキストから読み込む...
-
getElementByIdを使用したグロ...
-
jqueryuiのdialog
-
jqueryのグローバル変数とロー...
-
jQuery 同じ処理を関数にまとめ...
-
XMLHttpRequestオブジェクトが...
-
addEventListener()でリスナー...
-
drawImageの描画順序の指定につ...
-
javascript(jQuery)でセル内...
おすすめ情報