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

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

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

■21059 / inTopicNo.1)  攻撃イベントに関して
  
□投稿者/ 夜叉 -(2008/06/27(Fri) 09:43:25) [ID:ieYK4nIL]
    攻撃イベント中に画面を夜にし、その間にスペースキーを押されていれば
    攻撃をキャンセルし相手にダメージを与えるというのを考えているのですが
    うまく動作しません
    どうか教えてください

    ###インクルード内###
    リアクション:
    night
    Wait 4
    If KeyState(32) Then
    Cancel
    Attack (対象ユニット) 反撃用武装 (相手ユニット) 無抵抗
    noon
    else
    Exit

    ###シナリオ側###
    使用 ドラゴン 火炎:
    Call リアクション


引用返信/返信 削除キー/
■21060 / inTopicNo.2)  Re[1]: 攻撃イベントに関して
□投稿者/ Mr -(2008/06/27(Fri) 10:55:00) [ID:TS5Ahr9L]
http://mrsrc.web.fc2.com/
    どのように「うまく動作しない」のかがよくわかりませんが、
    とりあえずEndIfがないので起動エラーが出ると思います。
    Callで呼び出しているのに最後がExitなので戻れません。Returnにしましょう。
    Exitは呼び出し元の使用ラベルにつけるべきです。
    また、説明を読む限り、対象ユニットと相手ユニットが逆ではありませんか?
    その書式だと対象ユニットは「ドラゴン」ということになりますが。
    なおスペースキーは右クリックと同じ動作をするので、これが上手く動いても戦闘シーンが吹っ飛ばされます。他のキーにしておいたほうが無難かと思います。
    (他のキーの番号は、googleなどで「VB キー番号」で検索してやれば出てきます)
引用返信/返信 削除キー/
■21061 / inTopicNo.3)  Re[1]: 攻撃イベントに関して
□投稿者/ 明けの明星 -(2008/06/27(Fri) 13:05:36) [ID:Kve7pkP1]
    まず、Callコマンドで呼び出したならExitコマンドではなくReturnコマンドで終わらせましょう。
    次に、KeyState関数でのチェックは一瞬です。
    For〜NextやDo〜Loopでの繰り返しの中に入れないとまともに反応しません。
    その他幾つかを合わせて、以下のようにすれば大丈夫だと思います。
    
    ###インクルード内###
    リアクション:
    local i
    night
    wait start
    for i = 1 to 40
      If KeyState(32) = 1 Then
        cancel args(2)
        Attack args(1) 反撃用武装 args(2) 無抵抗
      endif
      wait until (i * 0.1)
    next
    noon
    return
    
    ###シナリオ側###
    使用 ドラゴン 火炎:
    Call リアクション 相手ユニットID 対象ユニットID
    exit

引用返信/返信 削除キー/
■21070 / inTopicNo.4)  Re[2]: 攻撃イベントに関して
□投稿者/ 夜叉 -(2008/07/04(Fri) 13:19:45) [ID:ieYK4nIL]
    Mrさん、明けの明星さん、大変遅れました
    すみません、ありがとうございました
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -