SwageLine Fホースキット BLK/BLK CB400F フラットH 74-75 ダイレクトタイプ 《SWAGE-LINE BAFB058M》


 >  > SwageLine Fホースキット BLK/BLK CB400F フラットH 74-75 ダイレクトタイプ 《SWAGE-LINE BAFB058M》
このページはCOOL ONLINE終了に伴いO-Show様の許可を得て作成したKLC モコ MG33S LXピラー 8ピース カラー:鏡面ゴールド 塗装済みのミラーサイトです
[175/55R15 77Q YOKOHAMA ヨコハマ IG60 IG60 JOKER MAGIC ジョーカー マジック スタッドレスタイヤホイール4本セット] [Profile] [NScripter] [BBS] [Links]
中級編 No.7
サブルーチン
■概要■
処理をまとめて書いておき、スクリプト中のどこからでもそれを呼び出して処理をさせることができる。

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


使用命令:

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

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

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


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

そして例えば、「スプライト○番と○番を非表示にして、○番を表示して、変数に数値を代入して、背景を変えて……」という処理が何度もスクリプト中で出てきた場合 国産!!オリジナルデュアルマフラー サブタイコ無 爆音!! マーク2 チェイサー クレスタ JZX100 1JZ-GTE 競技専用 日本製 ドリフト、それをまとめて書いておいて必要になったら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」のラベルに飛ばし、ボタン定義を行い NONE用 ヘツドライトユニツトR.NONE 33101-T4G-J11、また戻って来ています。

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



■サブルーチンの注意点

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

gosubで飛ばしたところからそのまま始めたり、gotoで違うところに飛んで始めたりすると フィット用 フエイスリヤーバンパー*NH737M*フィットシャトルフィットシャトルハイブリッド 71501-TF7-000ZD、「スタック」と呼ばれるものを消費していってしまいます。gosubで飛ばされると、NScripterは飛ばしたことを覚えていなければならないからです。

ダイレクトタイプ 74-75 BLK/BLK Fホースキット フラットH フラットH Fホースキット 《SWAGE-LINE BAFB058M》 SwageLine CB400F


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

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

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



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

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

上でも言っているようにサブルーチンから別のところに飛ばしたり始めたりすることはいけないことですが 15インチ サマータイヤ セット【適応車種:キューブ(Z12系)】MONZA JAPAN JPスタイル クレーヴァ ブラックメタリック/ポリッシュ 5.5Jx15HIFLY HF201 175/65R15、サブルーチンの場合は別です。

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

SwageLine Fホースキット BLK/BLK CB400F フラットH 74-75 ダイレクトタイプ 《SWAGE-LINE BAFB058M》最安値通販


POSHフェイス S/バイクミニ メッキ/オレンジ S球 07-エストレヤ /W400/04-W650/07バリオス2 《ポッシュフェイス 016132-33》


SwageLine Fホースキット BLK/BLK CB400F フラットH 74-75 ダイレクトタイプ 《SWAGE-LINE BAFB058M》 【メーカー在庫あり】 MMGRIT22K45A イスカルジャパン(株) イスカル C チップ COAT 2個入り MM GRIT 22K-45A JP店

↓↓↓KOMEHYO 17インチ タイヤホイールセット!ヴォクシー70系 3ナンバーAXEL  アクセル クリエ グロスブラック/リムダイヤカット 7.0Jx17LEMANSV LM5 215/50R17;ブリッド スーパーシートレールFOタイプ左側CC2ビガー 89/10~95/1;スプーン リジカラ リア トレジア NSP120X/NCP120X 50300-P91-000 SPOON リジットカラー【店頭受取対応商品】, ブーン(M601S)(1NR-FE)(10.2~)デンソースパークプラグ(イリジウムタフ)4本SET, 17インチ サマータイヤ セット【適応車種:アルファードハイブリッド(10系)】WEDS レオニス グレイラ アルファ BMCミラーカット 7.0Jx17Bluearth エース AE50 225/55R17, THULE(スーリー) フット:754+バー:7122+キット:1598 フィアット プントエヴォ 年式:'10~ ベースキャリアセット, RDmoto アールディーモト ガード・スライダー クラッシュスライダー・ガード(Crash sliders) アルマイトカラー:レッドアルマイト スライダーベースカラー:ブラック GSX1400;EP91スターレット LSD【クスコ】スターレット EP91 ターボ (89.12~99.7) MT LSD フロント 標準デフ:オープンデフ Type RS 1WAY 【USA在庫あり】 ファクトリーFX FACTORY EFFEX グラフィックキット ROCKSTAR 05年 YZ250、YZ125 4302-4764 HD店↓↓↓KN企画 スイングアーム(メッキ) シグナスX SE12J シグナスX SE44J (NXC125-91), 【店舗塗装サービス】【★送料無料】 【NHP10 アクア ティーアルディー】アクア NHP10 後期 テールゲートスポイラー ライムホワイトパールクリスタルシャイン, 【MC ワゴンR バタフライシステム】WAGON-R MC RR 前期 VIP System 3点セット[F/S/R], 30 ヴェルファイア エキゾーストキット / 排気セット【ロジャム】ヴェルファイア 30系 DTM エキゾースト システム ブラックシリーズ STD ステンレスモデル, [Projectμ] プロジェクトμ ブレーキパッド ユーロスポーツエクセレンス フロント用 BMW 4シリーズ F36(セダン) 420i 4D20 16/04~ Fr:φ300ローター 本州は送料無料 北海道は送料500円(税別) 沖縄・離島は送料1000円(税別)


↓↓↓↓↓↓↓↓↓↓↓↓

フジツボ AUTHORIZE R マフラー ホンダ ステップワゴン DBA-RK1 R20A 2.0 2WD 2009年10月~, ミツビシ アウトランダー CW#W 17インチ アルミホイール 一台分(4本) LEONIS NAVIA06 (レオニス ナヴィア ゼロシックス) マットガンメタマシニングカット アルミ, KENDA ケンダ KUAVELA SL KR32 サマータイヤ 225/50R17 HotStuff 軽量設計!G.speed P-01 ホイールセット 4本 17インチ 17 X 7 +48 5穴 114.3, 18インチアテンザスポーツワゴンGY系AXEL  アクセル クリエ グロスブラック/リムダイヤカット 7.0Jx18NANOエナジー 3プラス 215/40R18, YOKOHAMA ヨコハマ ブルーアース AE-01 サマータイヤ 165/60R15 MANARAY Euro Speed C-07 ホイールセット 4本 15インチ 15 X 4.5 +45 4穴 100

[TH753] THULE ラピッドシステム753 フィックスポイント用ロウ 4個入り;ジョーカー マシーン Ignition Switch Relocation Bracket - クローム 09-070C (海外取寄せ品) ランドローバー ディスカバリー4 純正タイプ LEDテールランプ テールライト 左右セット ★送料無料★(一部離島等除く) 【ブレンボ】ブレーキローター SUBARU レガシィ ツーリングワゴン [BH9][00/05~03/05][REAR] 【 LANCASTER 】;20 ヴェルファイア ハイマウント/ローマウント ストップランプ【クリスタルアイ】ヴェルファイア 20系 クリスタルLEDハイマウントストップランプ カラー:スモーク

20 ヴェルファイア ハイマウント/ローマウント ストップランプ【クリスタルアイ】ヴェルファイア 20系 クリスタルLEDハイマウントストップランプ カラー:レッド;【プロミュー】送料無料【project mu】ホンダ ビガー COMP-B GYMKHANA ブレーキパッド フロント CA1 車台No/1200001~ ビガー (85/6~89/9)

、二回飛んだら二回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を利用すれば クスコ CUSCO e-con2 減衰力40段コントローラー トヨタ ノア ZRR80G(street ZERO A対応)用、まるで自分だけの命令を作っているようになります。

大変便利なので、

SwageLine Fホースキット BLK/BLK CB400F フラットH 74-75 ダイレクトタイプ 《SWAGE-LINE BAFB058M》

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

SwageLine Fホースキット コードレスライト直管LEDセット(LB-LED8A) BLK/BLK CB400F フラットH 日産 74-75 ダイレクトタイプ 《SWAGE-LINE BAFB058M》


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