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

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

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

■4063 / inTopicNo.1)  【質問】連想配列を変数名で呼び出す方法
  
□投稿者/ レーヴァ -(2002/06/19(Wed) 17:43:52)
    こんばんわ、レーヴァです。
    ギミックに詳しい方の知恵をお借りしたく、
    書きこませていただきました。

    特定条件下で発動する技(武装欄に表示されない)
    の一覧を表示するインクルードを現在作っているのですが、
    一覧表示で参照する際に変数が返ってきてくれません。
    どうも連想配列を変数を使って呼び出す際に
    不具合が生じているようなのです。

    様々な表記を試してみましたが、思うような
    結果になりません。
    連想配列を変数で呼び出すことがそもそも不可能なのか、
    それとも書式に問題があるのか。
    詳しい方、ちょっと見ていただけないでしょうか。

    ######################################################

    構造は
    1: キャラごとに技の名前を配列に格納、
       初期状態は全て?????とする。


    特殊技設定ヒーロー(仮):

    Global 特殊技ヒーロー(仮)

    特殊技ヒーロー(仮)[1] = ?????
    特殊技ヒーロー(仮)[2] = ?????
    特殊技ヒーロー(仮)[3] = ?????

    Return

    ###############################################

    2: 特殊技を初使用した段階で、別途インクルで
       変数名を変更。

    **使用後 ヒーロー(仮) 三段斬り:

    特殊技ヒーロー(仮)[1] = 三段斬り

    Exit

    ###############################################

    3:ユニットコマンドで一覧表示を設定、
      変数名が?????ならば文字表示のみ、
      違うならば技解説へのホットポイントを設置。

      ☆の表示周辺が問題の個所です。
      現在の書式では『特殊技ヒーロー(仮)[1〜]』
      が返ってしまい、機能しません


    アーカイブ構築:

    ユニットコマンド 特殊技一覧 味方:

    PaintPicture Black.bmp - - 300 400
    Line 110 60 175 125 RGB(0,100,255) B

    PaintPicture 対象ユニット 111 61 64 64

    For i = 1 to 7

    ###☆

    Talk システム
    呼び出す変数は、$("特殊技" & "[" & (Nickname(対象ユニット)) & , & (i) & "]")です。;$(i)番目の技は、$("特殊技" & Nickname(対象ユニット) & "[" & i & "]")です
    End

    ###☆

    If $("特殊技" & Nickname(対象ユニット) & "[" & i & "]") = ????? Then
    Font 12pt Pゴシック Bold
    Font RGB(100, 100, 100)
    PaintString 110 (200 + (20 * i)) ?????
    Else
    Font 12pt Pゴシック Bold
    Font RGB(255, 255, 255)
    HotPoint $("特殊技" & Nickname(対象ユニット) & "[" & i & "]") 0 (200 + (20 * i)) 300 20 クリックで詳細を表示します
    PaintString 110 (200 + (20 * i)) $("特殊技" & Nickname(対象ユニット) & "[" & i & "]")
    Endif
    Next
    Refresh

    Do
    Wait Click
    Loop While (選択 = "")

    ClearObj
    ClearPicture

    Call "技解説$(選択)"

    Wait Click

    Goto "アーカイブ構築"

    Return

    ###############################################



引用返信/返信 削除キー/
■4065 / inTopicNo.2)  Re[1]: 【質問】連想配列を変数名で呼び出す方法
□投稿者/ 幻魔の公子 -(2002/06/19(Wed) 18:06:28)
     幻魔の公子です

     今、学校のPCからつないでいるので動作チェックは出来ないのですが、連想配列を呼び出すのに文字列結合を使っているのがまずいように思います。(えーと、配列を呼び出す、というのが、配列の名前を変数を使って呼び出す、という意味であれば、その通りだと思います)
     配列を、

    特殊技[ヒーロー(仮),i]

     のようには出来ないのでしょうか?
     こうすれば、文字列結合など使わなくとも、

    特殊技[Nickname(対象ユニット),i]

     で呼び出せるように思います。ちなみに、個人的には、パイロットを指定するときはなるべくNicknameを使わず正式名称やIDを使ったほうがいいとも思いますが。(まぁ、趣味の問題ですが)

     それでは。

引用返信/返信 削除キー/
■4067 / inTopicNo.3)  Re[2]: 【質問】連想配列を変数名で呼び出す方法
□投稿者/ レーヴァ -(2002/06/19(Wed) 19:40:09)
    早速の反応、ありがとうございます。
    アドバイスしていただいたように
    連想配列を使ってみることにしました。

    ですが、連想配列が『i』を判定してくれないようです。

    特殊技[ヒーロー(仮), 1]

    は正しい値を返し、

    特殊技[対象ユニット, 1]

    も格納した値を返すことを確認しました。
    しかし、

    特殊技[ヒーロー(仮), i]
    特殊技[対象ユニット, i]

    の2ケースでは値が返ってこないのです。
    『For i = 〜』の中での式ですから、
    iに数値が代入されていないということは
    有り得ないと思うのですが、
    これはどこに問題があるのでしょうか。
引用返信/返信 削除キー/
■4068 / inTopicNo.4)  Re[3]: 【質問】連想配列を変数名で呼び出す方法
□投稿者/ 隼人 -(2002/06/19(Wed) 20:14:23)
    単純なことなのでもう確認されたかもしれませんが、
    そのときのiの値がちゃんと1を返すかは確認されたでしょうか。
    For文で回しても0から始まるのと1から始まるのでは違います。
    確認されていたらすみません。
引用返信/返信 削除キー/
■4069 / inTopicNo.5)  Re[3]: 【質問】連想配列を変数名で呼び出す方法
□投稿者/ ヒロキ -(2002/06/19(Wed) 20:37:40)
    こんばんは、ヒロキです。

    >特殊技[ヒーロー(仮), i]
    >特殊技[対象ユニット, i]

    >の2ケースでは値が返ってこないのです。

    カンマとiの間のスペースを除いてみてはどうでしょうか?

    それでは
引用返信/返信 削除キー/
■4070 / inTopicNo.6)  解決しました、ありがとうございます
□投稿者/ レーヴァ -(2002/06/19(Wed) 21:08:32)
    お答えありがとうございます。

    ヒロキさんのアドバイス通り半角スペースを取り除いたところ、
    正常に動作しました。
    データテキストの感覚で半角スペースを入れていましたが、
    それが不具合の原因だったとは考えもしませんでした。

    おかげで助かりました。
    また何かありましたら、よろしくお願いします。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -