AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le Deal du moment :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G ...
Voir le deal
599 €

Partagez
 

 [VX] Effet de Camera Dynamique

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Akio
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Akio


Masculin Age : 30
Inscrit le : 23/07/2008
Messages : 56

[VX] Effet de Camera Dynamique Empty
MessageSujet: [VX] Effet de Camera Dynamique   [VX] Effet de Camera Dynamique Icon_minitimeLun 6 Déc 2010 - 18:05

Alors voilà, un ami japonais m'a donné il y'a un bout de temps quelques scripts de chez eux, s'avérant très utile. À la base je souhaitais pas les partager sur le net mais quand j'y pense, ce forum m'as beaucoup aidé donc j'aurais été ignoble de garder celà pour moi.

Commencons avec le premier Script, il s'agit de donner un effet dynamique à la camera suivant le héros lorsque il marche la camera n'est pas strictement fixe comme elle l'est à la base dans RPG Maker. Vous comprendrez mieux après l'avoir essayé x).

Auteur : Hueto Kyiaraku de Chrafter Production (japon)

Incompatibilité : Aucune de découverte jusqu'à présent, le GTBS fonctionne avec ce script (super effet), même le gameplay à la souris de berka.

Code:
#==============================================================================
#
# ・スクロールを遅延させて滑らかにします。
# [仕様]マップループが有効の場合、遅延スクロールは無効になります。
#
#------------------------------------------------------------------------------
#
# 更新履歴
# ◇0.9p→1.0
# スクロールが微妙にずれる不具合を修正
#
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
  # スクロールスピード 大きいほど遅くなります
  SPEED_X = 10
  SPEED_Y = 8
  # 解像度 W = 横マス H = 縦マス
  DISPLAY_W = 17
  DISPLAY_H = 13
  #--------------------------------------------------------------------------
  # ★ スクロール計算
  #--------------------------------------------------------------------------
  def display_move(n, m, speed)
    a = (n * (speed - 1) + m) / speed
    a -= 1 if n > m ; a += 1 if n < m
    return a
  end
  #--------------------------------------------------------------------------
  # ★ エイリアス
  #--------------------------------------------------------------------------
  alias initialize_str00 initialize
  def initialize
    initialize_str00
    @display_sx = 0
    @display_sy = 0
    @parallax_ssx = 0
    @parallax_ssy = 0
  end
  alias setup_str00 setup
  def setup(map_id)
    setup_str00(map_id)
    @display_sx = 0
    @display_sy = 0
    @parallax_ssx = 0
    @parallax_ssy = 0
  end
  alias update_scroll_str00 update_scroll
  def update_scroll
    @display_x = display_move(@display_x, @display_sx, SPEED_X)
    @display_y = display_move(@display_y, @display_sy, SPEED_Y)
    r = (@parallax_loop_x)
    @parallax_x = display_move(@parallax_x, @parallax_ssx, SPEED_X) unless r
    r = (@parallax_loop_y)
    @parallax_y = display_move(@parallax_y, @parallax_ssy, SPEED_Y) unless r
    update_scroll_str00
  end
  #--------------------------------------------------------------------------
  # ★ 再定義
  #--------------------------------------------------------------------------
  def set_display_pos(x, y)
    @display_sx = (x + @map.width * 256) % (@map.width * 256)
    @display_sy = (y + @map.height * 256) % (@map.height * 256)
    @display_x = @display_sx
    @display_y = @display_sy
    @parallax_ssx = x
    @parallax_ssy = y
    @parallax_x = x
    @parallax_y = y
  end
  def scroll_down(distance)
    if loop_vertical?
      @display_sy += distance
      @display_sy %= @map.height * 256
      @parallax_ssy += distance
      @display_y = @display_sy
    else
      last_y = @display_sy
      @display_sy = [@display_sy + distance, (height - DISPLAY_H) * 256].min
      @display_y = display_move(@display_y, @display_sy, SPEED_Y)
      unless @parallax_loop_y
        @parallax_ssy += @display_sy - last_y
        @parallax_y = display_move(@parallax_y, @parallax_ssy, SPEED_Y)
      end
    end
  end
  def scroll_left(distance)
    if loop_horizontal?
      @display_sx += @map.width * 256 - distance
      @display_sx %= @map.width * 256
      @parallax_ssx -= distance
      @display_x = @display_sx
    else
      last_x = @display_sx
      @display_sx = [@display_sx - distance, 0].max
      @display_x = display_move(@display_x, @display_sx, SPEED_X)
      unless @parallax_loop_x
        @parallax_ssx += @display_sx - last_x
        @parallax_x = display_move(@parallax_x, @parallax_ssx, SPEED_X)
      end
    end
  end
  def scroll_right(distance)
    if loop_horizontal?
      @display_sx += distance
      @display_sx %= @map.width * 256
      @parallax_ssx += distance
      @display_x = @display_sx
    else
      last_x = @display_sx
      @display_sx = [@display_sx + distance, (width - DISPLAY_W) * 256].min
      @display_x = display_move(@display_x, @display_sx, SPEED_X)
      unless @parallax_loop_x
        @parallax_ssx += @display_sx - last_x
        @parallax_x = display_move(@parallax_x, @parallax_ssx, SPEED_X)
      end
    end
  end
  def scroll_up(distance)
    if loop_vertical?
      @display_sy += @map.height * 256 - distance
      @display_sy %= @map.height * 256
      @parallax_ssy -= distance
      @display_y = @display_sy
    else
      last_y = @display_sy
      @display_sy = [@display_sy - distance, 0].max
      @display_y = display_move(@display_y, @display_sy, SPEED_Y)
      unless @parallax_loop_y
        @parallax_ssy += @display_sy - last_y
        @parallax_y = display_move(@parallax_y, @parallax_ssy, SPEED_Y)
      end
    end
  end
end

Si vous avez des questions n'hésitez pas Wink.

PS : Je pense qu'il est possible d'augmenter ou de diminuer le dynamisme en modifiant les lignes 19, 20, 22 et 23.

Voilà Smile
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 32
Inscrit le : 29/07/2009
Messages : 7841

[VX] Effet de Camera Dynamique Empty
MessageSujet: Re: [VX] Effet de Camera Dynamique   [VX] Effet de Camera Dynamique Icon_minitimeLun 6 Déc 2010 - 18:14

Ca m'a l'air sympa, je testerais quand j'aurais le temps.

Merci du partage !
Revenir en haut Aller en bas
Garruk
Aventurier Lv.16
Aventurier Lv.16
Garruk


Age : 40
Inscrit le : 03/09/2009
Messages : 1503

[VX] Effet de Camera Dynamique Empty
MessageSujet: Re: [VX] Effet de Camera Dynamique   [VX] Effet de Camera Dynamique Icon_minitimeJeu 9 Déc 2010 - 16:15

J'ai testé et je trouve qu'il n'y a pas énormément de différence, j'ai même lancé deux démo un avec le script et l'autre sans et j'ai pas trouvé que ça changé. ^^
Après j'utilise énormément de script, peut être qu'il faut le placer à un endroit précis.
Enfin, merci du partage.
Revenir en haut Aller en bas
Akio
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Akio


Masculin Age : 30
Inscrit le : 23/07/2008
Messages : 56

[VX] Effet de Camera Dynamique Empty
MessageSujet: Re: [VX] Effet de Camera Dynamique   [VX] Effet de Camera Dynamique Icon_minitimeSam 11 Déc 2010 - 0:42

Comme je l'ai dit dans la description,
Si la différence de base ne te suffit pas, tu peux changer cela avec
SPEED_X = 10
SPEED_Y = 8

DISPLAY_W = 17
DISPLAY_H = 13

En changeant ces nombres (essai en augmentant les valeurs) tu peux accentuer le
dynamisme Smile.
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Effet de Camera Dynamique Empty
MessageSujet: Re: [VX] Effet de Camera Dynamique   [VX] Effet de Camera Dynamique Icon_minitime

Revenir en haut Aller en bas
 

[VX] Effet de Camera Dynamique

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» déplacer la camera pour "cinématique"
» Système de combat plus dynamique
» Combat vus sur le coté et dynamique
» [VX] Choix dynamique d'un visage dans les messages
» Effet météorologique

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Divers-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit