DUNLOP(ダンロップ) サマータイヤ 夏用タイヤ 205/60R15 エナセーブ EC204 205/60R15 91H タイヤ単品 NEW


 >  > DUNLOP(ダンロップ) サマータイヤ 夏用タイヤ 205/60R15 エナセーブ EC204 205/60R15 91H タイヤ単品 NEW
このページはCOOL ONLINE終了に伴いO-Show様の許可を得て作成したBLEST (ブレスト) Bahnsport Type 902 (バーンシュポルト タイプ902) 17インチ 7.0J PCD:114.3 穴数:5 inset:50 セミグロスブラック/ブルーリボン [ホイール単品4本セット]Hのミラーサイトです
[[ホイール1本(単品)] SSR / EXECUTOR EX01 (FBK) 19インチ×9.5J PCD:120 穴数:5 インセット:-8] [Profile] [NScripter] [BBS] [Links]
中級編 No.7
サブルーチン
■概要■
処理をまとめて書いておき、スクリプト中のどこからでもそれを呼び出して処理をさせることができる。

プログラミング的で楽しくて便利、それがサブルーチンです。


使用命令:

「gosub」(マニュアル 実行制御系 FE)
「return」(マニュアル 実行制御系 FE)
■サブルーチンとは

サブルーチンをするには「gosub」という命令を使いますが、これは「goto」命令と同じく指定したラベルに飛ばす命令です。

しかし、「gosub」でラベルに飛ばした場合は、「return」命令を使うことでその「gosub」を書いたところまで再び戻ってくることができます。


この、「飛ばし元のところに戻ってこれる」というのが重要で、こうすることによりラベルと「return」に囲まれた部分をを一つの処理の塊と見なすことができるようになります。

そして例えば、「スプライト○番と○番を非表示にして、○番を表示して、変数に数値を代入して、背景を変えて……」という処理が何度もスクリプト中で出てきた場合 レガシィ用 ウオータポンプコンプリート レガシィ 4ドアセダン レガシィ ツーリングワゴン 21111AA020 スバル純正部品、それをまとめて書いておいて必要になったらgosubで呼び出すことにより、スクリプトを書くのを楽にすることができます。



■スクリプト

では、実際にスクリプトを見てみましょう。


gosub *set_kaiwa
gosub *set_botan_01
print 1
btnwait %0
......
*set_kaiwa
vsp 5,0
vsp 6,0
vsp 7,1
return
*set_botan_01
btndef "botan.jpg"
btn 1,10,10,50,50,0,0
btn 2,10,70,50,50,50,0
btn 3,10,130,50,50,100,0
return


「......」の部分は、単に続きを省略しているだけで、意味はありません。


このスクリプトは、まず「*set_kaiwa」ラベルに飛び、「vsp」命令の処理が終わったら再び上まで戻ってきて、そして次に「*set_botan_01」のラベルに飛ばし、ボタン定義を行い DUCATI Monster696 リアフェンダー FRP製・白 MAGICAL RACING(マジカルレーシング)、また戻って来ています。

このように、何度もありそうな処理をまとめておくことができます。



■サブルーチンの注意点

gosubでサブルーチンを行った場合、必ずreturnで戻してください。

gosubで飛ばしたところからそのまま始めたり、gotoで違うところに飛んで始めたりすると 【お買い得前後セット】RG(レーシングギア) SRブレーキパッド エメロード E74A 2000CC 94年10月-96年08月 【SR245M-SR199M】、「スタック」と呼ばれるものを消費していってしまいます。gosubで飛ばされると、NScripterは飛ばしたことを覚えていなければならないからです。

205/60R15 205/60R15 サマータイヤ DUNLOP(ダンロップ) エナセーブ 夏用タイヤ 205/60R15 DUNLOP(ダンロップ) タイヤ単品 EC204 91H NEW


スタックは有限ですので、使い終わった画像を消去するように、スタックも戻してあげましょう。returnで元の場所に戻ることがスタックを戻すことになります。

そして何より、そういう書き方をしているとスクリプトが読みにくくなってしまって、結局書くのが楽ではなくなってしまいます。

これは特に重要なことなので、肝に銘じておいてください。



■サブルーチンからさらにサブルーチン

サブルーチンで飛んだラベルから、さらにサブルーチンで別のラベルに飛ぶことができます。

上でも言っているようにサブルーチンから別のところに飛ばしたり始めたりすることはいけないことですが RSR ダウンサス リアのみ フォレスター SJG 24/11~27/10 4WD 2000 TB 2.0XT アイサイト、サブルーチンの場合は別です。

なぜなら 、returnは一つ前の飛ばし元に戻ってくれるため、

DUNLOP(ダンロップ) サマータイヤ 夏用タイヤ 205/60R15 エナセーブ EC204 205/60R15 91H タイヤ単品 NEW
【送料無料 プリウス】 215/45R17 17インチ BRIDGESTONE ブリヂストン プロドライブ GC-012L 7.5J 7.50-17 DUNLOP ダンロップ ルマン V(ファイブ) サマータイヤ ホイール4本セット!【送料無料】 235/50R18 18インチ WEDS マーベリック 910M 8J 8.00-18 YOKOHAMA ヨコハマ アドバン スポーツ V105 サマータイヤ ホイール4本セット 輸入車 フジコーポレーション.クスコ CUSCO SPORT TN_S ホンダ フィット GK3/GK5 (3A2 64W CB) 車高調,DUNLOP ダンロップ VEURO VE303 ビューロ サマータイヤ 235/40R18 ブリヂストン Adrenalin アドレナリン SW005 ホイールセット 4本 18インチ 18 X 8 +50 5穴 114.3

DUNLOP(ダンロップ) サマータイヤ 夏用タイヤ 205/60R15 エナセーブ EC204 205/60R15 91H タイヤ単品 NEW

、二回飛んだら二回returnで戻れば元のところにもどってこれるからです。

このようにサブルーチンしていくことをプログラミングでは「ネスト化する」などと言ったりします。

きちんとgosubとreturnを一対一に対応させていれば、複数回ネスト化しても元に戻ってこれるはずなので問題ありません。ただし、やはり「スタック」は有限なのでネスト化する回数には限界があります。

マニュアルには明記されていませんが、1000回ぐらいネスト化できるようです。
(そんなにたくさんやることは恐らく無いと思いますが)



ネスト化のスクリプトを見てみましょう。


gosub *set_boutou
......
*set_boutou
gosub *set_kaiwa
gosub *set_window
return
*set_kaiwa
vsp 5,0
vsp 6,0
vsp 7,1
return
*set_window
setwindow 8,16,23,16,26,26,0,2,20,1,1,#999999,0,0,639,479
return


スクリプトの流れを追って行けば、必ず元の場所に戻れるはずです。


このスクリプトでは、「*set_kaiwa」と「*set_window」の二つの処理は独立しているため、単体で他のところから呼び出して利用することができます。
■総括■
gosubを利用すれば 【関西、関東限定】取付サービス品BL アクセラ リアウイング / リアスポイラー【ナイトスポーツ】アクセラ BL5FW リア ウイング スポイラー 標準、まるで自分だけの命令を作っているようになります。

大変便利なので、

DUNLOP(ダンロップ) サマータイヤ 夏用タイヤ 205/60R15 エナセーブ EC204 205/60R15 91H タイヤ単品 NEW

、ぜひサブルーチンの使い方を習得してみてください。

DUNLOP(ダンロップ) 95/1-99/1 サマータイヤ 夏用タイヤ 205/60R15 44[27.5cm]) エナセーブ EC204 205/60R15 91H タイヤ単品 NEW


次へ   前へ   NScripterのIndexへ
goto *TOP
{yahoojp} {binaryheaven.ivory.ne.jp}
{yahoojp}jpprem01-zenjp40-wl-zd-45291