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

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

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

■21411 / inTopicNo.1)  半径の求め方
  
□投稿者/ AuO -(2009/03/01(Sun) 15:02:48) [ID:QRlLkGP5]
    現在、「ユニットAの半径Xマス以内にユニットBが進入した場合、処理を行なう」というものを作っています。イベントコマンドで接触イベントは初期実装されているのですが、半径に関しての処理はなかったはず…です。
    と、いうわけで…
    半径処理:
    If Not ABS((X(Args(3)) + Y(Args(3))) - (X(Args(2)) + Y(Args(2)))) <= Args(1) Then
    Exit
    Endif
    Return

    を、Lib\システム.eveに作成し、シナリオ側で
    進入 味方 全:
    半径処理 2 ユニットA ユニットB
    (処理内容)
    Exit

    と、したところユニットAを基準として第2、第4象限及びX、Y軸上に対しては作動するのですが、第1、第3象限に対しては無条件に処理内容を行なってしまい、手詰まり状態です。
    半径処理の式の問題なのですが、うまい式が思いつきません。
    どなたかお力をお貸しください。

引用返信/返信 削除キー/
■21412 / inTopicNo.2)  Re[1]: 半径の求め方
□投稿者/ 千奈 -(2009/03/01(Sun) 15:20:54) [ID:uq0qrkAA]
    2009/03/01(Sun) 15:26:51 編集(投稿者)
    2009/03/01(Sun) 15:23:30 編集(投稿者)

    >If Not ABS((X(Args(3)) + Y(Args(3))) - (X(Args(2)) + Y(Args(2)))) <= Args(1) Then
    ここのところを

      If Not ABS(X(Args(3)) - X(Args(2))) + ABS(Y(Args(3)) - Y(Args(2))) <= Args(1) Then

    にしてみたらどうでしょうか?
引用返信/返信 削除キー/
■21413 / inTopicNo.3)  Re[2]: 半径の求め方
□投稿者/ AuO -(2009/03/01(Sun) 17:05:31) [ID:QRlLkGP5]
    >If Not ABS(X(Args(3)) - X(Args(2))) + ABS(Y(Args(3)) - Y(Args(2))) <= Args(1) Then
    と、したところちゃんと動作するようになりなした。
    絶対値の求め方がわるかったみたいですね。
    ありがとうございます。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -