SRC質問掲示板Mk2
(現在 過去ログ1 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■73 / inTopicNo.1)  Breakコマンドについて
  
□投稿者/ リュウセイ -(2001/10/28(Sun) 04:04:19)
    ども、リュウセイです。
    インクルードを作っていて思ったのですが、
    Breakコマンドはどのような仕様になっているのでしょうか?

    自分はインクルード内で2つBreakコマンドを使用しているのですが、
    なぜか一つ目のBreakコマンドが実行された場合、
    その後のForコマンドが実行されませんでした。
引用返信/返信 削除キー/
■76 / inTopicNo.2)  Re[1]: Breakコマンドについて
□投稿者/ 刹 -(2001/10/28(Sun) 07:18:31)
    ども、刹です
    Breakは同階層のループを停止させる物のはずです
    解りやすいように図で説明(解りにくかったりして(^^;)

    A#For
    B# Break
    C# For
    D# Break
    E# Next
    F#
    G#Next
    H#

    BのBreakはAのForループを
    DのBreakはCのForループを停止させます
    この場合Bが働くとHまで飛ぶためCのループは完全に無視されます
    Dが働いてもFまで飛ぶだけなのでAのループは生きています
    リュウセイさんの言っている状況はBが働いてCが無視されている状況だと思います
    Dが働いてAのループが無視される事は有りません

    ソースを見たわけではないのであくまで予想ですが(^^;

引用返信/返信 削除キー/
■80 / inTopicNo.3)  Re[2]: Breakコマンドについて
□投稿者/ リュウセイ -(2001/10/28(Sun) 13:35:57)
    自分が作っているのは

    A#For
    B# Break
    C#Next
    D#〜
    E#For
    F# Break
    G#Next
    H#
    I#Exit

    と言う感じのものなのですが、
    B#が実行された場合、E#〜G#まで無視され、
    一気にH#まで飛ばされてしまいます。
引用返信/返信 削除キー/
■81 / inTopicNo.4)  訂正
□投稿者/ リュウセイ -(2001/10/28(Sun) 13:38:10)
    > A#For
    > B# Break
    > C#Next
    > D#〜
    > E#For
    > F# Break
    > G#Next
    > H#
    > I#Exit
    >
    > B#が実行された場合、E#〜G#まで無視され、
    > 一気にH#まで飛ばされてしまいます。

    飛ばされるのはE#からでなくD#からでした。
引用返信/返信 削除キー/
■88 / inTopicNo.5)  Re[3]: Breakコマンドについて
□投稿者/ 上条真 -(2001/10/28(Sun) 14:32:25)
http://members.tripod.co.jp/s_kamijou/index.html
    どうも。上条真です。

    > A#For
    > B# Break
    > C#Next
    > D#〜
    > E#For
    > F# Break
    > G#Next
    > H#
    > I#Exit

    これでD#〜G#までが飛ばされるということですが、
    私の方で簡単なイベントを組んでチェックしてみましたが、正常に動作しました。
    ソースを拝見できれば分かるかもしれませんが…。

    追記
    もしソースが長いようなら、私のHPの掲示板でも結構です。

    それでは。
引用返信/返信 削除キー/
■89 / inTopicNo.6)  Re[4]: Breakコマンドについて
□投稿者/ リュウセイ -(2001/10/28(Sun) 16:35:01)
    これが現在制作しているインクルードです。

    WTalk:
    Local 括弧1 括弧2
    font 13pt Bold Pゴシック 通常
    PaintPicture MessageWindow1.bmp 5 5
    PaintPicture Args(1) 15 21 64 64
    PaintPicture MessageWindow1.bmp 5 380
    PaintPicture Args(5) 15 396 64 64
    font RGB(100, 100, 100)
    PaintString 99 19 LSet(Nickname(Args(1)),60)
    PaintString 99 394 LSet(Nickname(Args(5)),60)
    font RGB(255, 255, 255)
    PaintString 97 17 LSet(Nickname(Args(1)),60)
    PaintString 97 392 LSet(Nickname(Args(5)),60)

    If Left(Args(2),1) = "(" Then
    font RGB(100, 100, 100)
    PaintString 106 39 LSet(Args(2),60)
    font RGB(255, 255, 255)
    PaintString 104 37 LSet(Args(2),60)
    括弧1 = ""
    ElseIf Left(Args(2),1) = "『" Then
    font RGB(100, 100, 100)
    PaintString 106 39 LSet(Args(2),60)
    font RGB(255, 255, 255)
    PaintString 104 37 LSet(Args(2),60)
    括弧1 = ""
    Else
    font RGB(100, 100, 100)
    PaintString 106 39 "「$(LSet(Args(2),58))"
    font RGB(255, 255, 255)
    PaintString 104 37 "「$(LSet(Args(2),58))"
    括弧1 = "」"
    Endif
    If (Args(3) = "") Or (Args(3) = "-") Then
    font RGB(100, 100, 100)
    PaintString (115 + TextWidth(Args(2))) 39 $(括弧1)
    font RGB(255, 255, 255)
    PaintString (113 + TextWidth(Args(2))) 37 $(括弧1)
    Refresh
    Wait Click
    Return
    Else
    For i = 3 To 4
    font 13pt Bold Pゴシック 通常 RGB(100, 100, 100)
    PaintString 115 (39 + (i - 2) * 17) LSet(Args(i),60)
    font 13pt Bold Pゴシック 通常 RGB(255, 255, 255)
    PaintString 113 (37 + (i - 2) * 17) LSet(Args(i),60)
    If (Args(4) = "") Or (Args(4) = "-") Or (i = 4) Then
    font RGB(100, 100, 100)
    PaintString (115 + TextWidth(Args(i))) (39 + (i - 2) * 17) $(括弧1)
    font RGB(255, 255, 255)
    PaintString (113 + TextWidth(Args(i))) (37 + (i - 2) * 17) $(括弧1)
    Break
    Endif
    Next
    Endif

    If Left(Args(6),1) = "(" Then
    font RGB(100, 100, 100)
    PaintString 106 414 LSet(Args(6),60)
    font RGB(255, 255, 255)
    PaintString 104 412 LSet(Args(6),60)
    括弧2 = ""
    ElseIf Left(Args(6),1) = "『" Then
    font RGB(100, 100, 100)
    PaintString 106 414 LSet(Args(6),60)
    font RGB(255, 255, 255)
    PaintString 104 412 LSet(Args(6),60)
    括弧2 = ""
    Else
    font RGB(100, 100, 100)
    PaintString 106 414 "「$(LSet(Args(6),58))"
    font RGB(255, 255, 255)
    PaintString 104 412 "「$(LSet(Args(6),58))"
    括弧2 = "」"
    Endif
    If (Args(7) = "") Or (Args(7) = "-") Then
    font RGB(100, 100, 100)
    PaintString (115 + TextWidth(Args(6))) 414 $(括弧2)
    font RGB(255, 255, 255)
    PaintString (113 + TextWidth(Args(6))) 412 $(括弧2)
    Refresh
    Wait Click
    Return
    Else
    For f = 7 To 8
    font 13pt Bold Pゴシック 通常 RGB(100, 100, 100)
    PaintString 115 (414 + (f - 6) * 17) LSet(Args(f),60)
    font 13pt Bold Pゴシック 通常 RGB(255, 255, 255)
    PaintString 113 (412 + (f - 6) * 17) LSet(Args(f),60)
    If (Args(8) = "") Or (Args(8) = "-") Or (f = 8) Then
    font RGB(100, 100, 100)
    PaintString (115 + TextWidth(Args(f))) (414 + (f - 6) * 17) $(括弧2)
    font RGB(255, 255, 255)
    PaintString (113 + TextWidth(Args(f))) (412 + (f - 6) * 17) $(括弧2)
    Break
    Endif
    Next
    Endif

    Refresh
    Wait Click
    Return

    #使用法
    # WTalk A 〜 〜 〜 B 〜 〜 〜
    # Aには上に表示するキャラ名を、Bには下に表示するキャラ名を入れます。
    # ちなみに会話はそれぞれ三行まで表示できるようになっているので、
    # AとBの間の会話が三行に満たない場合は「""」あるいは「-」をいれて
    # Argsを埋める必要があります

    上下同時に画面会話を行うものなのですが、
    下のキャラの会話が出ません。
引用返信/返信 削除キー/
■90 / inTopicNo.7)  Re[5]: Breakコマンドについて
□投稿者/ 上条真 -(2001/10/28(Sun) 17:11:01)
http://members.tripod.co.jp/s_kamijou/index.html
    再び上条です。

    > If (Args(3) = "") Or (Args(3) = "-") Then
    > font RGB(100, 100, 100)
    > PaintString (115 + TextWidth(Args(2))) 39 $(括弧1)
    > font RGB(255, 255, 255)
    > PaintString (113 + TextWidth(Args(2))) 37 $(括弧1)
    > Refresh
    > Wait Click
    > Return

    > 上下同時に画面会話を行うものなのですが、
    > 下のキャラの会話が出ません。

    ここの
    Wait Click
    Return
    の2行が原因のようです

    つまり、Aの会話が1行で終わっている時にのみ、この行が処理され、
    サブルーチンを抜けているためです。
    この2行を削除すれば表示されました。

    それでは。

引用返信/返信 削除キー/
■91 / inTopicNo.8)  失礼しましたm(_ _)m
□投稿者/ リュウセイ -(2001/10/28(Sun) 17:33:48)
    上条さんありがとうございます。
    自分まだまだシナリオライターとして未熟ですね(~~;)
    過去に作ったインクルードを元に使って制作時間を節約しようとしたのが
    かえってあだになったみたいです…面目ない…

    最後に答えてくださった刹さん、上条さん、本当にありがとうございました。
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -