Vai al contenuto


Foto
- - - - -

[Script]Camminata diagonale


  • Per cortesia connettiti per rispondere
4 risposte a questa discussione

#1 Tio

Tio

    Dark Hawn

  • Amministratori
  • 8376 messaggi

Inviato 02 settembre 2007 - 09:16

Descrizione
Questo script permette la camminata diagonale in diagonale da parte del charaset (di base cioe' quello di 4 frame).

Autore

パラ犬

Allegati
Per usare questo script avete bisogno di questo chara

Istruzione per l'uso
Create una classe sopra a Main e chiamatela Game_Player

CODICE
#==============================================================================
# ++ グラフィック変更8方向移動 ver. 1.00 ++
#  Script by パラ犬
#------------------------------------------------------------------------------
# 上下キーと左右キーを同時押しすることにより斜め移動を可能にし、
# 「Graphics/Characters」フォルダに
# 「(先頭キャラクター名)+_quarter」という名前のファイルがある場合
# 斜め移動時のグラフィックとして使用します。(例:001-Fighter01_quarter)
#------------------------------------------------------------------------------
#[設置上の注意]
# 「グラフィック変更ダッシュ」と併用する場合、このスクリプトを
# ダッシュスクリプトよりも下に置いてください。
# 斜め方向ダッシュの画像ファイル名は「(先頭キャラクター名)+_dash_quarter」に
# なります。
#==============================================================================

#==============================================================================
# ■ Game_Player
#==============================================================================

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias update_para_quarter update
  def update
    update_para_quarter
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      # 方向ボタンが押されていれば、その方向へプレイヤーを移動
      case Input.dir8
      when 1  # 左下に移動
        move_lower_left
      when 3  # 右下に移動
        move_lower_right
      when 7  # 左上に移動
        move_upper_left
      when 9  # 右上に移動
        move_upper_right
      end
    end
  end
end

#==============================================================================
# ■ Sprite_Character
#==============================================================================

class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias update_para_quarter update
  def update
    update_para_quarter
    if @tile_id == 0
      if (@character.direction - 2) % 2 == 1
        # 斜め画像の有無をチェック
        if quarter_graphic_exist?(@character)
          # 斜め画像をセット
          if character.dash_on and dash_quarter_graphic_exist?(@character)
            @character_name = @character.character_name + "_dash_quarter"
          else
            @character_name = @character.character_name + "_quarter"
          end
          self.bitmap = RPG::Cache.character(@character_name,
            @character.character_hue)
          # 向きを取得
          case @character.direction
            when 1
              n = 0
            when 3
              n = 2
            when 7
              n = 1
            when 9
              n = 3
          end
        else
          @character.direction = @character.sub_direction
          # 斜め画像が存在しないときの向き
          n = (@character.direction - 2) / 2
        end
        # 転送元の矩形を設定
        sx = @character.pattern * @cw
        sy = n * @ch
        self.src_rect.set(sx, sy, @cw, @ch)
      else
        self.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)
        # 転送元の矩形を設定
        sx = @character.pattern * @cw
        sy = (@character.direction - 2) / 2 * @ch
        self.src_rect.set(sx, sy, @cw, @ch)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ○ 斜め画像の有無をチェック
  #--------------------------------------------------------------------------
  def quarter_graphic_exist?(character)
    # 読み込みテスト
    begin
      RPG::Cache.character(character.character_name.to_s + "_quarter", character.character_hue)
    rescue
      return false
    end
    return true
  end
  #--------------------------------------------------------------------------
  # ○ 斜めダッシュ画像の有無をチェック
  #--------------------------------------------------------------------------
  def dash_quarter_graphic_exist?(character)
    # 読み込みテスト
    begin
      RPG::Cache.character(character.character_name.to_s + "_dash_quarter", character.character_hue)
    rescue
      return false
    end
    return true
  end
end

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

class Game_Character
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor   :direction        # 向き
  attr_accessor   :sub_direction    # 斜め画像が存在しないときの向き
  #--------------------------------------------------------------------------
  # ● 左下に移動
  #--------------------------------------------------------------------------
  def move_lower_left
    # 向き固定でない場合
    unless @direction_fix
      @sub_direction = @direction
      @direction = 1
      # 右向きだった場合は左を、上向きだった場合は下を向く
      @sub_direction = (@sub_direction == 6 ? 4 : @sub_direction == 8 ? 2 : @sub_direction)
    end
    # 下→左、左→下 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
       (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
      # 座標を更新
      @x -= 1
      @y += 1
      # 歩数増加
      increase_steps
    end
  end
  #--------------------------------------------------------------------------
  # ● 右下に移動
  #--------------------------------------------------------------------------
  def move_lower_right
    # 向き固定でない場合
    unless @direction_fix
      @sub_direction = @direction
      @direction = 3
      # 左向きだった場合は右を、上向きだった場合は下を向く
      @sub_direction = (@sub_direction == 4 ? 6 : @sub_direction == 8 ? 2 : @sub_direction)
    end
    # 下→右、右→下 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
       (passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
      # 座標を更新
      @x += 1
      @y += 1
      # 歩数増加
      increase_steps
    end
  end
  #--------------------------------------------------------------------------
  # ● 左上に移動
  #--------------------------------------------------------------------------
  def move_upper_left
    # 向き固定でない場合
    unless @direction_fix
      @sub_direction = @direction
      @direction = 7
      # 右向きだった場合は左を、下向きだった場合は上を向く
      @sub_direction = (@sub_direction == 6 ? 4 : @sub_direction == 2 ? 8 : @sub_direction)
    end
    # 上→左、左→上 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
       (passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
      # 座標を更新
      @x -= 1
      @y -= 1
      # 歩数増加
      increase_steps
    end
  end
  #--------------------------------------------------------------------------
  # ● 右上に移動
  #--------------------------------------------------------------------------
  def move_upper_right
    # 向き固定でない場合
    unless @direction_fix
      @sub_direction = @direction
      @direction = 9
      # 左向きだった場合は右を、下向きだった場合は上を向く
      @sub_direction = (@sub_direction == 4 ? 6 : @sub_direction == 2 ? 8 : @sub_direction)
    end
    # 上→右、右→上 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
       (passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
      # 座標を更新
      @x += 1
      @y -= 1
      # 歩数増加
      increase_steps
    end
  end
end

#==============================================================================
# ■ Game_Player
#==============================================================================
class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ○ ダッシュスクリプト導入判定
  #--------------------------------------------------------------------------
  def dash_on
    if @dash_on != nil
      return @dash_on
    else
      return false
    end
  end
end

lostodyssey1.jpg


tastolbd1ir5.jpg
Video con anteprima di gioco: http://it.youtube.co...h?v=VqMRDXo4Sh4

TRE COSE DA FARE:

1: LEGGETE IL NUOVO REGOLAMENTO!!!

2: NON MANDATEMI MESSAGGI PRIVATI PER CHIEDERMI AIUTO/PARERI/CONSIGLI PER VIDEOGIOCHI, PC, RPG O >>>>RPGMAKER<<<<.
PER QUELLO C'E' IL FORUM. CANCELLERO' TUTTI QUEI MESSAGGI SENZA RISPONDERE.
{C}
{C}{C}
{C}


{C}{C}3: NON CHIEDETE DI CHIUDERE I TOPIC "RISOLTI" NELLA SEZIONE INFORMATICA: NON C'E' MOTIVO DI FARLO{C}{C}

http://it.wikipedia.org/wiki/Tio
^me su wikipedia^

wiiforuma2rk0.jpg
ps3foruma2om6.jpg

www.rpg2s.net
Risorse, tutorial, scripts, giochi Rm2k, Rm2k3, RmXP

recordtetris1zv4.jpg

Inizia con CA e finisce con O, in mezzo ci sono 2 lettere doppie


#2 -Sora-94

-Sora-94

    Under Testing

  • Members
  • StellettaStelletta
  • 70 messaggi

Inviato 26 aprile 2008 - 01:22

Avrei una domanda:

#3 Rox'

Rox'

    Molosso Infernale

  • Banned
  • StellettaStellettaStellettaStellettaStelletta
  • 565 messaggi

Inviato 26 aprile 2008 - 05:16

S

#4 The.Trooper

The.Trooper

    Profeta dell'Apocalisse

  • Members
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 977 messaggi

Inviato 11 maggio 2008 - 08:19

Potresti spiegarti meglio riguardo al chara???
Cio
-- |\|00|3 0\/\/|\|3r --


Usa il tasto cerca anche tu:
CODICE


Hide - Beauty & Stupid

">" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350">

Cosa sto leggendo:
La Bibbia Gotica

Cosa sto giocando:
World of Warcraft [PC]
MadWorld [Wii]


CITAZIONE
CITAZIONE
>> = Raziel
<< = Me

[17:30:04] >> ...
[17:30:13] << wepa
[17:30:18] >> ...
[17:30:57] << wepa
[17:31:33] >> eh?
[17:34:17] >> ma che dici?
[17:34:44] >> boh...
[17:35:03] << wepa

#5 Atzlith

Atzlith

    Cavia

  • Members
  • StellettaStellettaStelletta
  • 129 messaggi

Inviato 15 dicembre 2009 - 02:30

Che bello... scusate la riesumazione del topic ma era dovere commentare a questa bellezza! ^^
Molto bello lo script e poi, con tutti i chara in diagonale che ho, mi
GAME SUPPORTATI:




GAME CREATI DA ME:

in via di sviluppo... 45%=sviluppo complessivo. [Inserito: school-life.]


interrotto... 5%=sviluppo complessivo. [interrotto per sviluppare "Dark Mirror"]

(Absolute for Fujoshi)
in via di sviluppo... 18%=sviluppo complessivo
[A met




0 utente(i) stanno leggendo questa discussione

0 utenti, 0 visitatori, 0 utenti anonimi