|
まず噴出しですが procedure for i = 1 to 10 Fukidasi("スレッド " + i,3,10,"MS明朝",$FF0000,$00FF00,0) Sleep(1) next
これを実行すると画面の左側に背景が黄色の長い棒が出てきて伸びたり縮んだりする様な映像が出てきます スレッドという文字も全く表示されなければ、背景の色も緑に指定してるはずなのに何故か黄色になっています
次にヘルプにあったスクリプトなのですが // スレッドとメインにてカウント Thread カウント() // スレッドは噴出しにてカウント print "メイン" cnt = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10" for i = 1 to 10 print Token(", ", cnt, True) // メインはPRINTにてカウント Sleep(1) next
procedure カウント() for i = 1 to 10 Fukidasi("スレッド " + i) Sleep(1) next fend
Thread 関数名 () procedure〜fend この二つですがThreadというのは要するに2つの処理を平行してやる(3つ以上は不可能?)作業だと思うんですが このThreadを置く(書く)位置なのですが 上記のスクリプトではスクリプトの一番上に置いてますが 何故
// スレッドとメインにてカウント print "メイン" cnt = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10" for i = 1 to 10 print Token(", ", cnt, True) // メインはPRINTにてカウント Sleep(1) next
Thread カウント() // スレッドは噴出しにてカウント
procedure カウント() for i = 1 to 10 Fukidasi("スレッド " + i) Sleep(1) next fend
上記のような最初のfor~nextの後じゃ全く機能しないのでしょうか?
最後にprocedureですが procedureは()~fendまでが一つのまとまりになってますが 上記のスクリプトでは何故procedureを使ってるんですか? procedureを使わずに
for i = 1 to 10 Fukidasi("スレッド " + i) Sleep(1) next
このように記述して同じように平行に処理されないのは何故でしょうか?
|
No.3787 2017/04/24(Mon) 10:27:48
|
☆ Re: FUKIDASI Thread procedureの使い方が分かりません / 基礎から学ぶ人 |
|
|
念の為に質問させて頂くのですが 上記のような言語の使い方で既に躓いています。 一応2時間位色々考え、あれこれ試して理解できるよう努力はしたつもりですが 理解できませんでした ヘルプに書かれてる内容を全て理解しようとしたら 一応自分なりに調べたり、考えたり、試したりはしますが 恐らくこの先、この様な基礎的な質問を400,500回位するかもしれません この掲示板にはそういう書き込みをしても大丈夫でしょうか?
|
No.3788 2017/04/24(Mon) 10:34:30
|
|
☆ Re: FUKIDASI Thread procedureの使い方が分かりません / 俄プログラマー |
|
|
Fukidasi("スレッド " + i,3,10,"MS明朝",$FF0000,$00FF00,0)
//フォントサイズ指定のカンマ抜け Fukidasi("スレッド " + i,3,10,,"MS明朝",$FF0000,$00FF00,0)
中略
>上記のような最初のfor~nextの後じゃ全く機能しないのでしょうか?
メインスレッドが終了してしまうとスレッド処理中でも全体終了となります。 メインスレッドが終了しないようSLELEPを入れる、フラグを立てるなどして終了しないように工夫する必要があります。
|
No.3789 2017/04/24(Mon) 11:59:27
|
|