[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 10/03 00:51 / Filesize : 260 KB / Number-of Response : 985
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

NScripter Ver.8.00



1 名前:名前は開発中のものです。 [2006/09/08(金) 21:39:40 ID:/inm3Q++]
商業流通でなければフリーで利用可能な
ゲームエンジンNScripterについて語るスレです。
技術的な質問も可。ただし最低限のマニュアルには目を通してね。


・本家
www.nscripter.com/

・うpろだ
andolf.hp.infoseek.co.jp/

・前スレ

Ver7.00
pc8.2ch.net/test/read.cgi/gamedev/1149639307/
Ver6.00
pc8.2ch.net/test/read.cgi/gamedev/1142593513/
Ver5.00
pc8.2ch.net/test/read.cgi/gamedev/1126791382/
Ver4.00
pc8.2ch.net/test/read.cgi/gamedev/1112550571/
Ver3.00
pc8.2ch.net/test/read.cgi/gamedev/1100029774/
Ver2.00
pc5.2ch.net/test/read.cgi/gamedev/1082131647/
初代
pc5.2ch.net/test/read.cgi/gamedev/1005121290/


その他関連リンクは>>2-4あたり。

880 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 02:22:03 ID:WrHDcd7B]
不安定というか、それこそが安定してるんちゃうか。

ヘタな使い方してるにも関わらずエラーがでなかったりするとヤバいぞ。
変な挙動しても、原因が突き止められん。

881 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 03:06:47 ID:gG5Xz9/1]
うーん・・・スタック消し用としては使わんほうがいいってことか。
それ用の命令が欲しいな

882 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 09:08:40 ID:BwEJ2uC5]
普通にしろってばw
そんな特異な処理やってるようじゃ潰しが利かんだろ。

スタック消しなんて命令を常時使ってるような言語、少なくとも俺は知らんが。

883 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 11:21:40 ID:M71D0nzT]
for-next中(連続表示で簡易ムービーとか)にクリックでtrap>breakしてスキップとかは普通に使ってたが
そもそもgosubには最初から関係ないだろ?

884 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 13:38:06 ID:8FVsW9Bs]
> そもそもgosubには最初から関係ないだろ?
いや、gosubをbreakで抜けたいって意味じゃなくてだな。。。
何故かgosubで飛んだルーチン内でfor文を使わずに「break *ラベル」を使うとエラーになるんだわ。
gosubルーチン内じゃなければエラーにならんのだが。
理由は分からん。実際に試してみてくれ。

885 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 13:40:30 ID:BoWWvG6U]
>>881
breakで抜けれるのはあくまでfor-next。
for-next内のgosubから一気に外に飛ぼうとしたら、gosubのスタックに引っ掛かって当たり前。
他の言語だって、for処理やwhile処理内で呼び出した関数から直接外に出るなんて、普通ならまずしない処理だと思うぞ。
ずぼらせずに、gosubをdefsubにして、引数でtrap中断フラグ返して、その値でreturn後にbreak判定すれ。
それかfor-next使わず、ラベルgotoでループさせろ。それならgosub先からreturn *ラベルで一発で抜けれるんだし。
いつまでもgdgdとスタック消しクレクレ言ってる暇があったら、自分のスクリプト見直せ。

886 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 13:42:19 ID:BoWWvG6U]
おっとしまった、リロードすれば良かった。
しかし、884読んでも何したいのかさっぱりわからん。for文無いのに、何でbreakしてんだ?てかbreak *ラベルって何?

887 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 13:46:45 ID:8FVsW9Bs]
>>885
別にクレクレじゃないっての(笑)
break *ラベルの仕様がどうなってんのかいろいろ試してみてるだけ。使用報告も兼ねつつ。

>>886
マニュアル嫁。
breakでラベルに飛ぶ命令

888 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 13:53:05 ID:BoWWvG6U]
……最新版今ダウンロードしてgrep掛けたけど、載ってないよ??



889 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 13:57:23 ID:LDOYuU0E]
>>888
ヒント:新マニュアル\追加命令一覧.txt

890 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 14:03:22 ID:BoWWvG6U]
あ、すぐ下にあるのに見落としてた。大文字小文字区別でかけてたゴメン。
でもやっぱり、for-next無いのに使うのがおかしいんじゃないのかな…

891 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 14:04:47 ID:ux/5bGeR]
よほど複雑な入れ子にでもしない限り、
きちんとreturnで戻るようにしとけばスタック消す命令は必要ないと思うけど

つか、for-nextの外でbreak使うこと自体がよろしくないでしょ
>>885も言ってるけど、同じ処理を別の方法で実装できるなら
for-nextを使う必要だってないわけだから

そこらへん、もうちょっと柔軟に考えた方がいいんじゃないかな

892 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 14:24:50 ID:M71D0nzT]
あーまー、言いたいことは分かった気がする
要するにただ、gosub中じゃなければエラーにならないのが不思議だってことね
別に妙機能を要望してるわけでも文句言ってるわけでもなく

893 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 14:35:15 ID:8FVsW9Bs]
そう、それだ。文章下手ですまん・・・orz

で、この変な動きをなんとか便利に使う場所がないかと考えた結果、
「処理をtrapで抜けた場合に
 for-nextループ内で抜けたのかそれ以外の場所なのかに関係なく
 breakラベルで飛ばしておけば無関係にnextのスタックが消せる」
くらいかなぁ、と(;´∀`)

894 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 14:40:42 ID:BoWWvG6U]
いやいや、for-nextで抜けたのかどうかわからないような場合はあっちゃいかんだろ。
それ位なら大人しくラベルgotoしろって。

とりあえず原理を考えてみたけど、
gosubのスタック消しをbreak処理の後でしか行わないから、for-nextが無いとエラーになるんじゃないかな。
なんとなく処理としては、break→スタック消し→goto *ラベルなんだと思うけど、
・*startの階層ではbreakもスタック消しも不要だから最後のgotoで移動できる。
・gosub内のfor-next内のbreakラベルは全ての処理行うから移動できる
・gosub内直書きや、for-next内gosub中の直書きからでは、最初のbreakでエラーになるからNG
ってことだと思う。まぁbreak *ラベル自体、お勧めしないってあるから、使わない方が良いと思うけどね。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<260KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef