HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0909
大富豪Aサブルーチンやループのネストが深すぎます11解決


大富豪A

リンク

2012/9/9(Sun) 22:05:07|NO.49274

-->サブルーチンやループのネストが深すぎます

この、エラーを極力出さなくする方法とかはありますか?



この記事に返信する


GrapeColor(DION)

リンク

2012/9/9(Sun) 22:48:47|NO.49277

極力出さないと言うか・・・普通は出ない・・・はず・・・たぶん・・・
記憶があいまいなので正しいか怪しいけど



ZAP

リンク

2012/9/9(Sun) 23:00:35|NO.49278

gosub で飛んだら、gotoではなくてreturnでちゃんと戻ること。

gosubで飛びっぱなしの状態が蓄積されるとそのエラーが出る。



GrapeColor(DION)

リンク

2012/9/9(Sun) 23:08:31|NO.49279

参考までこんな感じにプログラムを書けば出ないはず。

font msgothic, 10 onkey gosub *flag1 oncmd gosub *flag2, $101 button gosub "button", *flag3 repeat if cnt \ 500 = 0 : gosub *flag4 await 10 loop *flag1 mes "キーが押し下げられたためサブルーチンflag1にジャンプしました。" return *flag2 mes "キーが押し上げられたためサブルーチンflag2にジャンプしました。" return *flag3 mes "buttonが押されたためサブルーチンflag3にジャンプしました。" return *flag4 mes "ループ回数が500で割り切れたためサブルーチンflag4にジャンプしました。" return



大富豪A

リンク

2012/9/9(Sun) 23:26:52|NO.49280

>GrapeColor(DION)さん
ってことは、、、Musicは普通ではない・・・・?

>ZAPさん
スクリプトを見直したら、5箇所見つかりました。
一部、修正出来ませんでしたが、がんばって改良します;;;

>GrapeColor(DION)さん
ありがとうございます。
参考にさせていただきます。



ミント

リンク

2012/9/9(Sun) 23:30:18|NO.49281

ループの起き場所が悪いときも発生しますね。



*敵VS自機弾 repeat MYTMMAX ;自機弾の最大数(50) ST_c = cnt ;自機弾についてのカウント数 tmx = SX.ST_c ;自機弾X tmy = SY.ST_c ;自機弾Y repeat TEK_Gmax ;グループ数(16) HIT_G = cnt ;ヒット数のためのカウント AI_G = cnt ;ヒット数のためのカウント repeat TEK_MAX ;敵の最大数(5) if TEK_f(cnt,HIT_G) = 1 AND SHOT.ST_c = 1 { if (TEK_x(cnt,HIT_G) < tmx+11) AND (TEK_x(cnt,HIT_G)+26 > tmx) AND (TEK_y(cnt,HIT_G) < tmy+11) AND (TEK_y(cnt,HIT_G)+22 > tmy) { SHOT.ST_c = 0 ;自機弾フラグ TEK_f(cnt,HIT_G) = 2 ;敵を消す SUKOA += 1000 ;敵撃破スコア SUKOA += 200 ;敵ヒットスコア ;アイテム AIf(cnt,AI_G) = 1 ;アイテムのフラグをオン AIx(cnt,AI_G) = TEK_x(cnt,AI_G) ;アイテムのX AIy(cnt,AI_G) = TEK_y(cnt,AI_G) ;アイテムのY }//loop ;NG }loop loop ;OK loop return



大富豪A

リンク

2012/9/9(Sun) 23:30:55|NO.49282

これも、原因だったかも・・・・

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1260790362



大富豪A

リンク

2012/9/9(Sun) 23:39:54|NO.49283

>ミントさん
ありがとうございます。
今回は、Musicの話題でしたが、参考にさせていただきます。

いままで、散々STGの話をしてきましたが、今回はMusicの曲のループに関する
話題ですので、よろしくお願いします。



大富豪A

リンク

2012/9/9(Sun) 23:53:22|NO.49284

余談1
forで無限ループする方法はありますか?

余談2
exgotoとifはどちらの方が、効率的で、早く、メリットが多いですか?



大富豪A

リンク

2012/9/10(Mon) 19:44:11|NO.49309

解決しました。
もし、Musicの最新版にこのエラーがでたら、解決できてません;;;



siku

リンク

2012/9/11(Tue) 21:20:23|NO.49324

大富豪Aさんの紹介できましたが
自分から見てレベルが高かったので
もう まず来ないと思います
(勝手に来てるのにすみません)
ところで どこに書きこめばよかったのでしょうか?



大富豪A

リンク

2012/9/11(Tue) 21:27:09|NO.49325

>sikuさん

>自分から見てレベルが高かったので
まぁ、余談ですから・・・・
無視してもいいですよ。

ここでいいですよ。



ONION software Copyright 1997-2023(c) All rights reserved.