RPGXP スクリプト
2013.09.24 08:23

커다란 그래픽 좁은 길 못지나가는 스크립트

閲覧数 1080 推奨数 0 コメント 0
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷
#┌───────────────────────────────────────
#│
#│  TRCS.17
#│  "Game_Character 修正" ver1.00β (2005.11.05 h12)
#│  by NO
#│  http://chobi.net/~no/
#│  
#└───────────────────────────────────────

#┌───────────────────────────────────────
#│β版仕?
#│  ?マップチップ、キャラクタ?との?たり判定を修正します。
#│  ?イベントとの?たり判定部分が未解決です。
#└───────────────────────────────────────


#==============================================================================
# ■ Game_Character
#==============================================================================

class Game_Character
  #--------------------------------------------------------------------------
  # ○ オブジェクト初期化
  #--------------------------------------------------------------------------
  def trcs17_initialize initialize
    # キャラクタ?サイズの判定フラグ初期化
    @big = false
    # キャラクタ?グラフィックが表示されているセルの座標
    @x_list = []
    @y_list = []
    # 呼び?す
    trcs17_initialize
  end
  #--------------------------------------------------------------------------
  # ○ キャラクタ?サイズが基準以上か?
  #--------------------------------------------------------------------------
  def big?
    return @big
  end
  #--------------------------------------------------------------------------
  # ○ キャラクタ?グラフィックが表示されているセルの座標
  #--------------------------------------------------------------------------
  def cell_list
    return @x_list, @y_list
  end
  #--------------------------------------------------------------------------
  # ○ 通行可能判定
  #     x : X 座標
  #     y : Y 座標
  #     d : 方向 (0,2,4,6,8)  ※ 0 = 全方向通行不可の場合を判定 (ジャンプ用)
  #--------------------------------------------------------------------------
  alias trcs17_passable? passable?
  def passable?(x, y, d)
    # キャラクタ?ファイル名が定義されている場合
    unless @character_name == ""
      # キャラクタ?グラフィックオブジェクトを定義
      character = RPG::Cache.character(@character_name, @character_hue)
      # 倍率計算
      div_x = character.width / (32 * 4)
      div_y = character.height / (48 * 4)
      div_x = 1 if div_x < 1
      div_y = 1 if div_y < 1
      # x, yともに1倍の場合
      if div_x == 1 and div_y == 1
        # 呼び?す
        return trcs17_passable?(x, y, d)
      else
        # [基準サイズ以上である]をセット
        @big = true
        # [キャラクタ?グラフィックが表示されているセルの座標]の配列
        @x_list = [0]
        @y_list = [0]
        # 現位置において、
        # キャラクタ?グラフィックが表示されている全セルのx座標の算出
        # → グラフィックの幅は左右に等しい (基準の3倍ならば □■□)
        for i in 1..div_x / 2
          @x_list.unshift(-i)  if i == 1 and d != 6 # 本?の座標が移動の邪魔になるため
          @x_list.push(i)      if i == 1 and d != 4 # 本?の座標が移動の邪魔になるため
        end
        # 現位置において、
        # キャラクタ?グラフィックが表示されている全セルのy座標の算出
        # → y座標は?方向(負)に[基準のn倍]
        for i in 1...div_y
          @y_list.unshift(-i) if i == 1 and d != 2 # 本?の座標が移動の邪魔になるため
        end
        # 評?値の初期化
        bool = true
        # 二重ル?プで各座標を渡す
        for i in 0...@x_list.size
          for j in 0...@y_list.size
            x2 = @x_list[i]
            y2 = @y_list[j]
            # 呼び?す & ??値の評?
            # → 一度でもfalseになったら通行不可
            bool &= trcs17_passable?(x + x2, y + y2, d)
          end
        end
        # 評?値を返す
        return bool
      end
    else
      # 呼び?す
      return trcs17_passable?(x, y, d)
    end
  end
end

출처: 게임공작소
?

List of Articles
番号 カテゴリ タイトル 投稿者 日付 閲覧数 推奨数
288 RPG MVプラグイン Mog_Battle_hud(MZ버전도 있습니다) 스트레이보우 2021.03.05 2011 0
287 RPG MVプラグイン 컷신 플러그인 스트레이보우 2020.10.30 2694 0
286 RPG MVプラグイン 업적플러그인 스트레이보우 2020.09.02 2262 0
285 RPGXP スクリプト 한글조합입력기(영어가능) file 조규진1 2019.11.10 1201 0
284 RPG MVプラグイン 게임에서 제공해주는 노래가 아닌 외부에서 다운받고 안에 넣어쓰려면 어떻게 해야하나요? 3 BigOrca 2019.07.26 1650 0
283 RPG MVプラグイン Ghost Effect 러닝은빛 2019.01.20 1323 0
282 RPGXP スクリプト RPG XP Xas액알 1 file 심심치 2018.10.30 1331 0
281 RPG MVプラグイン 커스텀 숫자 입력 패드 1 file 러닝은빛 2018.10.19 1399 0
280 RPG MVプラグイン 9마리 이상의 몬스터 설정 | More Enemies 러닝은빛 2018.08.31 1150 0
279 RPG MVプラグイン 동적 맵 타일 수정 플러그인 베지테리안카카오 2018.07.17 1251 0
278 RPG VX Ace スクリプト VXA에서 XBOX360 컨트롤러 사용 여부 체크 file 러닝은빛 2018.07.15 1053 0
277 RPG MVプラグイン RMMV 옵션 창에 메시지 속도 및 글자 크기 변경 기능 추가 file 러닝은빛 2018.07.15 1795 0
276 RPG MVプラグイン 한글 데미지 표시 file 러닝은빛 2018.07.09 1613 0
275 RPG MVプラグイン [ MV ] 심장[체력표시 하트] 플러그인 file 수성의물 2018.07.01 2407 0
274 RPG MVプラグイン [鳥小屋] 실적 플러그인(인게임 트로피 시스템) file 이니군 2017.10.31 1909 0
273 RPG VX Ace スクリプト LuD Script Package 1 file LuD 2017.08.16 1822 0
272 RPG VX Ace スクリプト [VXAce] 레이어 맵 <layer> 시스템 file LuD 2017.08.07 1478 0
271 RPG MVプラグイン [RPG MV] 퀘스트 마커 지속 표시 플러그인 file lklslel 2017.04.09 1875 0
270 RPG MVプラグイン Mirror Area - RPG Maker MV 2 file 러닝은빛 2017.01.03 5181 0
269 RPG MVプラグイン Keyboard Event - RPG Maker MV 1 러닝은빛 2017.01.03 2456 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15