WinmaX SPORTS AP2 LEXUS LS460・LS460L フロント用 【品番680】 型式USF40,41,45,46 年式06.08-


 >  > WinmaX SPORTS AP2 LEXUS LS460・LS460L フロント用 【品番680】 型式USF40,41,45,46 年式06.08-
このページはCOOL ONLINE終了に伴いO-Show様の許可を得て作成した【送料無料 NV350キャラバン】 195/80R15 15インチ MONZA モンツァ HI-BLOCK タイプDMX 6J 6.00-15 GOODYEAR グッドイヤー EAGLE 1 NASCAR LT(限定) サマータイヤ ホイール4本セット フジコーポレーションのミラーサイトです
[オリジナル フロアマット デラックス ホンダ オデッセイ 7人乗/リアヒーター無/ガソリン H28/2~仕様変更 オデッセイ10 車種別 カーマット 床 車] [Profile] [NScripter] [BBS] [Links]
中級編 No.7
サブルーチン
■概要■
処理をまとめて書いておき、スクリプト中のどこからでもそれを呼び出して処理をさせることができる。

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


使用命令:

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

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

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


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

そして例えば、「スプライト○番と○番を非表示にして、○番を表示して、変数に数値を代入して、背景を変えて……」という処理が何度もスクリプト中で出てきた場合 17インチレガシィツーリングワゴンBR9 17インチ装着車WEDS レオニス WX ブラックミラーカット 7.0Jx17VEURO VE303 225/50R17、それをまとめて書いておいて必要になったら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」のラベルに飛ばし、ボタン定義を行い 215/55R17 サマータイヤ タイヤホイールセット 【送料無料】 LEONIS MX 17x7.0 53 114.3x5 BMCMC + Corsa 2233 215/55R17.Z 98W XL (215/55/17 215-55-17) 夏タイヤ 17インチ、また戻って来ています。

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



■サブルーチンの注意点

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

gosubで飛ばしたところからそのまま始めたり、gotoで違うところに飛んで始めたりすると SPEEDBRAKES スピードブレークス フロントブレーキホース プロテクション【FRONT BRAKE HOSE WITH PROTECTION】【ヨーロッパ直輸入品】 BLUE / CARBON KMX125 (125) 89-93、「スタック」と呼ばれるものを消費していってしまいます。gosubで飛ばされると、NScripterは飛ばしたことを覚えていなければならないからです。

フロント用 LS460・LS460L AP2 【品番680】 型式USF40,41,45,46 LEXUS 年式06.08- LEXUS WinmaX SPORTS 型式USF40,41,45,46


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

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

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



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

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

上でも言っているようにサブルーチンから別のところに飛ばしたり始めたりすることはいけないことですが DIXCEL/ディクセル ブレーキパッド タイプM フロント マツダ LUCE ルーチェ 排気量2000 年式86/7~91/12 型式HCEP 品番M351086、サブルーチンの場合は別です。

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

WinmaX SPORTS AP2 LEXUS LS460・LS460L フロント用 【品番680】 型式USF40,41,45,46 年式06.08-,[#tong##]

☆ブレーキパッド専門メーカーのウインマックス製ARMA★純正のブレーキパッドでは得られない満足感!★スポーツモデル3種からベストチョイス可能!AP1:抜群のコントロール性でストリートからミニサーキットで実力を発揮!ハイグリップラジアルタイヤを装着した車両で、ミニサーキット走行を楽しむ人に向けたブレーキパッド。ストリートとスポーツ走行をバランス良くこなしたい方にも最適。平均μ:0.30~0.33 / 対抗温度(℃):常温~600℃ / 材質:ロースチール材(ノンアスベスト)定価:フロント、リア¥20,000+(消費税)、※ブレンボ標準車は定価\3,000+(消費税)UPとなります。AP2:ハイグリップラジアルからSタイヤまでカバーするスタンダードモデル!効力とコントロール性のバランスに優れたオールマイティーな性能を兼ね揃えています。平均μ:0.34~0.36 / 対抗温度(℃):常温~700℃ / 材質:ロースチール材(ノンアスベスト)定価:フロント、リア¥20,000+(消費税)、※ブレンボ標準車は定価\3,000+(消費税)UPとなります。AP3:抜群の効力と安定性を兼ね揃えたARMAスポーツ最強モデル!スポーツの中で最も効力性能が優れSタイヤでの走行やハイパワー車でのラジアルタイヤにも対応。平均μ:0.37~0.39 / 対抗温度(℃):常温~750℃ / 材質:ロースチール材(ノンアスベスト)定価:フロント、リア¥20,000+(消費税)、※ブレンボ標準車は定価\3,000+(消費税)UPとなります。ATS:リアシューもグレードアップで最適なブレーキバランスを!不用意なリヤロックを防ぎコントロール性に優れたリヤブレーキシュー。S4桁品番は、リアシューになります。平均μ:0.33~0.35 / 対抗温度(℃):0~400℃ / 材質:ノンスチール材(ノンアスベスト)定価:リアシュー¥12,000+(消費税)、※ブレンボ標準車は定価\3,000+(消費税)UPとなります。■メーカー:エムケーカシヤマ株式会社 ウインマックスディビジョン■商品名:ARMA/アルマ スポーツ ☆AP1,2,3からお選びください【AP2】効き★★★ 初期レスポンス★★★★コントロール性★★★★ ライフ★★★★※ご購入の際は必ず車検書をご確認下さい

、二回飛んだら二回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を利用すれば GruppeM(グループエム) POWER CLEANER NISSAN シーマ GF50 01.02-10.07 VK45DD 4500 【PC-0026】、まるで自分だけの命令を作っているようになります。

大変便利なので、

WinmaX SPORTS AP2 LEXUS LS460・LS460L フロント用 【品番680】 型式USF40,41,45,46 年式06.08-

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

WinmaX SPORTS AP2 LEXUS Cクラス LS460・LS460L フロント用 【品番680】 型式USF40,41,45,46 ダンロップ 年式06.08-


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