SRC意見交換掲示板Mk2
(現在 過去ログ19 を表示中)

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

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

■2154 / inTopicNo.1)  使用タグの増加
  
□投稿者/ A・H -(2003/07/02(Wed) 14:44:35)
    えっとSRC制作していて
    気づいたのですが、今までのSRCでは
    タグが使えますがごく一部のタグしか使えません。

    そこで、私が提案するのは
    ルビタグ<ruby><rt>
    をSRCでも使用できるようにしてもらいたいのです。
    ルビタグがあれば、二つの名前設定がある場合にこれを使えば
    より変わったメッセージもできます例えば
    機械と言う文字の上にマシンなどがはいる。

    しかし、<BIG>タグ&<B>タグ大きさ変更タグなどと入れると
    Talkコマンドで表す文字数が変化してしまう可能性があるという
    欠点があります。

    以上の内容を提案します。
    でわ。
引用返信/返信 削除キー/
■2155 / inTopicNo.2)  どちらかというと反対で
□投稿者/ 木藤優斗 -(2003/07/02(Wed) 18:28:20)
http://members.tripod.co.jp/kidohyuto/
    まず、ルビ表記についてですが
    「機械(マシン)」などと表記する方法もあります。
    なぜこのやり方を提案するかというと、ルビを振ることによってウィンドウを余分に消費し、結果的に表示される文字数が減ってしまう事が考えられるからです。
    また、あの狭いウィンドウに表示させるとなると、どうしてもルビの大きさは小さくなってしまい、逆に見にくくなる事も考えられます。
    便利かもしれませんが、結果的に見にくくなるのは問題があるのではないでしょうか。

    ボールドタグなどで文字数が変化することについては、動作確認をした上で「;」などで改行を上手く利用して見栄えをよくするなどの工夫をすればよいかと。
    よって、問題になるほどの欠点とはいい難いです。

    よって、他の人の賛成意見がなければ反対です。
引用返信/返信 削除キー/
■2156 / inTopicNo.3)  とりあえずつくってみました
□投稿者/ ジブリーズ -(2003/07/02(Wed) 18:43:57)
    こんにちは
    前からすこし興味があったので、この機につくってみました。


    # 【RubyTalk】ルビをつけてtalkコマンドをおこなうサブルーチン
    # 書式 RubyTalk Teller Text TgText RubyText [IsEnd]
    # Teller…しゃべるひとです。"システム"も指定出来ます
    # Text…しゃべる内容です。現在"()"で囲んだテキストは正常に表示されませんので注意してください
    # TgText…ルビをつける部分の文字列を指定して下さい
    # RubyText…ルビの内容の文字列を指定してください
    # IsEnd…1を指定するとTalkコマンド実行後にウインドウを閉じます
    RubyTalk:
       
       #初期化部分
          
          #しゃべるひと
          Local Teller = Args(1)
          
          #しゃべる内容全部
          Local Text = Args(2)
          
          #ルビをいれる部分の文字列
          Local TgText = Args(3)
          
          #ルビの内容
          Local RubyText = Args(4)
          
          #Endをするか
          Local IsEnd = Args(5)
          
          #上の行に表示する文字を最終的に保存する変数
          Local CompRubyText
          
          #↑のとこまでの幅
          Local LeftWidth
          
          #一時保存用
          Local temp tempWidth
       #初期化おしまい
       
       
       #Talkコマンドで表示されるサイズに
       Font P明朝 12pt Regular
       
       
       #TgTextまでの幅を取得する
       LeftWidth = TextWidth(Left(Text,InStr(Text,TgText)))
       
       
       #話すのがシステム以外なら、名前とカッコの文だけleftwidthを少なくする
       #括弧つきだとうまくいかんのです。適当に改造してくださいな
       If Teller != "システム" Then
          
          If Left(Text,1) != "(" Then
             temp = NickName(Teller) & " 「"
          Else
             temp = NickName(Teller) & " ("
          EndIf
          
          
          Incr LeftWidth (TextWidth(temp) * -1)
          LeftWidth = Max(LeftWidth,0)
          
          #あとでも使うので空を代入
          temp = ""
       Else
          Incr LeftWidth (TextWidth(" ") * -1)
       EndIf
       
       
       #ルビ部分の大きさに
       Font P明朝 9pt Regular
       
       
       Do
          temp = temp & "|"
          tempWidth = TextWidth(temp)
          
          If tempWidth >= LeftWidth Then
             
             #"|"がいっこ少ないのと、どっちがLeftWidthに近いか調べる
             #tempWidthそのまま引いたほうが誤差が大きかったらひとつ少なくする
             If (LeftWidth - tempWidth) > (LeftWidth - tempWidth - TextWidth("|")) Then
                temp = Left(temp,Len(temp) - 1)
             EndIf
             
             #タグを追加&ルビにする文字を追加
             CompRubyText = "<Size=9><Color=White>" & temp & "</Color>" & RubyText & "</Size>"
             
             #ここでBreakる
             Break
          EndIf
       Loop
       
       
       #表示
       
       If IsEnd Then
          Talk Teller
          $(CompRubyText);$(Text)
          End
       Else
          Talk Teller
          $(CompRubyText);$(Text)
          Suspend
       EndIf
       
    Return

    動かして見てください。一応自分の環境で確認はしてありますが。
    使用法は一番上に書いてある通りです。
    少し問題点("()"で囲んだ場合うまく表示されない、ルビを一番上の行にしかつけられない、など)がありますが、よかったらつかってやってください。

    それでは失礼させていただきます。

解決済み!
引用返信/返信 削除キー/
■2157 / inTopicNo.4)  すみません、修正版です
□投稿者/ ジブリーズ -(2003/07/02(Wed) 18:55:10)
    Localコマンドのところで開発版の書式を使っていました。
    これで安定版でも動くはずです

    # 【RubyTalk】ルビをつけてtalkコマンドをおこなうサブルーチン
    # 書式 RubyTalk Teller Text TgText RubyText [IsEnd]
    # Teller…しゃべるひとです。"システム"も指定出来ます
    # Text…しゃべる内容です。現在"()"で囲んだテキストは正常に表示されませんので注意してください
    # TgText…ルビをつける部分の文字列を指定して下さい
    # RubyText…ルビの内容の文字列を指定してください
    # IsEnd…1を指定するとTalkコマンド実行後にウインドウを閉じます
    RubyTalk:
       
       #初期化部分
          
          #しゃべるひと
          Local Teller
          Teller = Args(1)
          
          #しゃべる内容全部
          Local Text
          Text = Args(2)
          
          #ルビをいれる部分の文字列
          Local TgText
          TgText = Args(3)
          
          #ルビの内容
          Local RubyText
          RubyText = Args(4)
          
          #Endをするか
          Local IsEnd
          IsEnd = Args(5)
          
          #上の行に表示する文字を最終的に保存する変数
          Local CompRubyText
          
          #↑のとこまでの幅
          Local LeftWidth
          
          #一時保存用
          Local temp tempWidth
       #初期化おしまい
       
       
       #Talkコマンドで表示されるサイズに
       Font P明朝 12pt Regular
       
       
       #TgTextまでの幅を取得する
       LeftWidth = TextWidth(Left(Text,InStr(Text,TgText)))
       
       
       #話すのがシステム以外なら、名前とカッコの文だけleftwidthを少なくする
       #括弧つきだとうまくいかんのです。適当に改造してくださいな
       If Teller != "システム" Then
          
          If Left(Text,1) != "(" Then
             temp = NickName(Teller) & " 「"
          Else
             temp = NickName(Teller) & " ("
          EndIf
          
          
          Incr LeftWidth (TextWidth(temp) * -1)
          LeftWidth = Max(LeftWidth,0)
          
          #あとでも使うので空を代入
          temp = ""
       Else
          Incr LeftWidth (TextWidth(" ") * -1)
       EndIf
       
       
       #ルビ部分の大きさに
       Font P明朝 9pt Regular
       
       
       Do
          temp = temp & "|"
          tempWidth = TextWidth(temp)
          
          If tempWidth >= LeftWidth Then
             
             #"|"がいっこ少ないのと、どっちがLeftWidthに近いか調べる
             #tempWidthそのまま引いたほうが誤差が大きかったらひとつ少なくする
             If (LeftWidth - tempWidth) > (LeftWidth - tempWidth - TextWidth("|")) Then
                temp = Left(temp,Len(temp) - 1)
             EndIf
             
             #タグを追加&ルビにする文字を追加
             CompRubyText = "<Size=9><Color=White>" & temp & "</Color>" & RubyText & "</Size>"
             
             #ここでBreakる
             Break
          EndIf
       Loop
       
       
       #表示
       
       If IsEnd Then
          Talk Teller
          $(CompRubyText);$(Text)
          End
       Else
          Talk Teller
          $(CompRubyText);$(Text)
          Suspend
       EndIf
    Return
引用返信/返信 削除キー/
■2158 / inTopicNo.5)  反対です
□投稿者/ シャアペン -(2003/07/03(Thu) 13:36:48)
http://charpen-web.hp.infoseek.co.jp/
     この提案には需要という面ではどうしても必要という程度の機能ではないかと思います。概ね木藤優斗さんと同意見ですが、文字表示が乱れるというのはシナリオを製作、もしくはプレイするうえで違和感を感じると言わざるを得ません
     それに、振るルビの長さによっては文字の空白が多く空いてしまい、かえって見栄えが悪くなる可能性がないとも言い切れません。そういった問題点をクリアできない限りは賛成できない提案と思われます
引用返信/返信 削除キー/
■2171 / inTopicNo.6)  Re[2]: 反対です
□投稿者/ A・H -(2003/07/11(Fri) 16:56:30)
    ・・・・解決済みにするのをすっかり忘れてました。
    すみません・・・取りあえずこの件に関しては保留と言うことで
    理由は、ジブリーズさんの提案したサブルーチンで対応ができるので
    今のところは、このサブルーチンで我慢したいと思います。

    それでは、失礼します。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -