Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

Partagez
 

 Centrer la caméra sur n'importe quel événement

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Zexion
Administrateur
Administrateur
Zexion

Masculin
Messages postés : 6228
Date d'inscription : 04/01/2012
Jauge LPC :
Centrer la caméra sur n'importe quel événement 891527140097 / 10097 / 100Centrer la caméra sur n'importe quel événement 8915271400

Centrer la caméra sur n'importe quel événement Membre15
Centrer la caméra sur n'importe quel événement Event-10
Centrer la caméra sur n'importe quel événement Altrui10
Centrer la caméra sur n'importe quel événement Action10
Centrer la caméra sur n'importe quel événement Travai10
Centrer la caméra sur n'importe quel événement Collec10
Centrer la caméra sur n'importe quel événement Collec11
Centrer la caméra sur n'importe quel événement Collec12
Centrer la caméra sur n'importe quel événement Staffe11
Centrer la caméra sur n'importe quel événement Dessin10


Centrer la caméra sur n'importe quel événement Empty
MessageSujet: Centrer la caméra sur n'importe quel événement   Centrer la caméra sur n'importe quel événement EmptySam 20 Juil 2013 - 16:26

Auteur : Tsukihime

Ce script va vous permettre de configurer la caméra du jeu pour qu'elle suive un autre événement que le héros.

Voici le script :
Code:
=begin

#===============================================================================

 Title: Camera Target

 Author: Tsukihime

 Date: Apr 16, 2013

--------------------------------------------------------------------------------

 ** Change log

 Apr 16, 2013

  - initial release

-------------------------------------------------------------------------------- 

 ** Terms of Use

 * Free to use in commercial/non-commercial projects

 * No real support. The script is provided as-is

 * Will do bug fixes, but no compatibility patches

 * Features may be requested but no guarantees, especially if it is non-trivial

 * Credits to Tsukihime in your project

 * Preserve this header

--------------------------------------------------------------------------------

 ** Description

 

 This script allows you to set the camera to follow a particular character

 on the map using script calls. By default, the camera follows the player.



--------------------------------------------------------------------------------

 ** Installation

 

 Place this script below Materials and above Main

 

--------------------------------------------------------------------------------

 ** Usage

 

 To set the camera's target, make a script call in the event or move route

 

  set_camera_target(char_id)

 

 If char_id = -1, then it is the player

 If char_id = 0, then it is the current event

 if char_id > 0, then it is the specified event

#===============================================================================

=end

$imported = {} if $imported.nil?

$imported["TH_CameraTarget"] = true

#===============================================================================

# ** Configuration

#===============================================================================

module TH

  module Camera_Target

  end

end

#===============================================================================

# ** Rest of script

#===============================================================================

module DataManager

  class << self

    alias :th_camera_target_create_game_objects :create_game_objects

  end

  def self.create_game_objects

    th_camera_target_create_game_objects

    $game_system.camera_target = $game_player

  end

end



#-------------------------------------------------------------------------------

# For convenient script call

#-------------------------------------------------------------------------------

class Game_Interpreter

 

  #-----------------------------------------------------------------------------

  # Set the camera target. Update mode is how the camera will update its target

  # Not implemented yet

  #-----------------------------------------------------------------------------

  def set_camera_target(event_id, update_mode=0)

    $game_system.camera_target = get_character(event_id)

    $game_map.refresh_camera_target(update_mode)

  end

end



#-------------------------------------------------------------------------------

# Camera target stored with the system

#-------------------------------------------------------------------------------

class Game_System

  attr_reader :camera_target

 

  alias :th_camera_target_initialize :initialize

  def initialize

    th_camera_target_initialize

    @camera_target = nil

  end

 

  def camera_target=(target)

    @camera_target = target

  end

end



#-------------------------------------------------------------------------------

# When the camera target changes, decide whether to update the camera position

# to the current target, and how it should be done

#-------------------------------------------------------------------------------

class Game_Map

  def refresh_camera_target(update_mode)

    char = $game_system.camera_target

    $game_system.camera_target.center(char.x, char.y)

  end

end



#-------------------------------------------------------------------------------

# Add scrolling logic to all characters

#-------------------------------------------------------------------------------

class Game_Character < Game_CharacterBase

 

  #-----------------------------------------------------------------------------

  # X Coordinate of Screen Center

  #-----------------------------------------------------------------------------

  def center_x

    (Graphics.width / 32 - 1) / 2.0

  end

  #-----------------------------------------------------------------------------

  # Y Coordinate of Screen Center

  #-----------------------------------------------------------------------------

  def center_y

    (Graphics.height / 32 - 1) / 2.0

  end

  #-----------------------------------------------------------------------------

  # Set Map Display Position to Center of Screen

  #-----------------------------------------------------------------------------

  def center(x, y)

    $game_map.set_display_pos(x - center_x, y - center_y)

  end

 

  #-----------------------------------------------------------------------------

  # Scroll map depending on character location

  #-----------------------------------------------------------------------------

  def update_scroll(last_real_x, last_real_y)

    return unless $game_system.camera_target == self

    ax1 = $game_map.adjust_x(last_real_x)

    ay1 = $game_map.adjust_y(last_real_y)

    ax2 = $game_map.adjust_x(@real_x)

    ay2 = $game_map.adjust_y(@real_y)

    $game_map.scroll_down (ay2 - ay1) if ay2 > ay1 && ay2 > center_y

    $game_map.scroll_left (ax1 - ax2) if ax2 < ax1 && ax2 < center_x

    $game_map.scroll_right(ax2 - ax1) if ax2 > ax1 && ax2 > center_x

    $game_map.scroll_up  (ay1 - ay2) if ay2 < ay1 && ay2 < center_y

  end

end



#-------------------------------------------------------------------------------

# Only update scroll if player is the camera target

#-------------------------------------------------------------------------------

class Game_Player < Game_Character

 

  alias :th_camera_target_update_scroll :update_scroll

  def update_scroll(last_real_x, last_real_y)

    return unless $game_system.camera_target == self

    th_camera_target_update_scroll(last_real_x, last_real_y)

  end

end



#-------------------------------------------------------------------------------

#

#-------------------------------------------------------------------------------

class Game_Event < Game_Character

 

  #-----------------------------------------------------------------------------

  # Return the specified character by ID

  #-----------------------------------------------------------------------------

  def get_character(param)

    if $game_party.in_battle

      nil

    elsif param < 0

      $game_player

    else

      $game_map.events[param > 0 ? param : @id]

    end

  end

 

  #-----------------------------------------------------------------------------

  # Set the camera target. Used in move route interpreter

  #-----------------------------------------------------------------------------

  def set_camera_target(event_id, update_mode=0)

    $game_system.camera_target = get_character(event_id)

    $game_map.refresh_camera_target(update_mode)

  end



  alias :th_camera_target_update :update

  def update

    last_real_x = @real_x

    last_real_y = @real_y

    th_camera_target_update

    update_scroll(last_real_x, last_real_y)

  end

 

  alias :th_camera_target_moveto :moveto

  def moveto(x, y)

    th_camera_target_moveto(x, y)

    center(x, y)

  end

end

L'utilisation est simple, il vous suffit de copier le code suivant dans une commande d'événement "Insérer un script" :
Code:
set_camera_target(ID)
Remplacez simplement "ID" par l'ID de l'événement sur lequel la caméra doit se concentrer.

Pour recentrer la caméra sur le héros, utilisez :
Code:
set_camera_target(-1)

Pour que la caméra se centre sur l'événement dans lequel est appelé le script, utilisez :
Code:
set_camera_target(0)
(équivalent du "cet événement" qu'on retrouve dans certaines conditions d'événement)

Bon making !
Revenir en haut Aller en bas
RitoJS
Ancien staffeux
Ancien staffeux
RitoJS

Masculin
Messages postés : 1925
Date d'inscription : 22/02/2012
Jauge LPC :
Centrer la caméra sur n'importe quel événement 8915271400100 / 100100 / 100Centrer la caméra sur n'importe quel événement 8915271400

Centrer la caméra sur n'importe quel événement Membre15
Centrer la caméra sur n'importe quel événement Mappeu10
Centrer la caméra sur n'importe quel événement Projet10
Centrer la caméra sur n'importe quel événement Projet16
Centrer la caméra sur n'importe quel événement Riche_10


Centrer la caméra sur n'importe quel événement Empty
MessageSujet: Re: Centrer la caméra sur n'importe quel événement   Centrer la caméra sur n'importe quel événement EmptySam 20 Juil 2013 - 17:49

Merci du partage.
Revenir en haut Aller en bas
http://lunarito.wordpress.com/ https://twitter.com/RitoJS http://ritojs.deviantart.com/
Vorselon
Chevalier Mage (niveau 3)
Chevalier Mage (niveau 3)
Vorselon

Masculin
Messages postés : 450
Date d'inscription : 27/04/2012
Jauge LPC :
Centrer la caméra sur n'importe quel événement 89152714006 / 1006 / 100Centrer la caméra sur n'importe quel événement 8915271400

Centrer la caméra sur n'importe quel événement Membre10
Centrer la caméra sur n'importe quel événement Graphi10
Centrer la caméra sur n'importe quel événement Dessin10
Centrer la caméra sur n'importe quel événement Collec10
Centrer la caméra sur n'importe quel événement Collec11


Centrer la caméra sur n'importe quel événement Empty
MessageSujet: Re: Centrer la caméra sur n'importe quel événement   Centrer la caméra sur n'importe quel événement EmptySam 20 Juil 2013 - 18:11

Merci du partage.


On fait la plus longue chaîne. Cool
Revenir en haut Aller en bas
http://crazynikos.deviantart.com/
Ti-Max
Membre V.I.P.
Membre V.I.P.
Ti-Max

Masculin
Messages postés : 2259
Date d'inscription : 11/07/2012
Jauge LPC :
Centrer la caméra sur n'importe quel événement 891527140080 / 10080 / 100Centrer la caméra sur n'importe quel événement 8915271400

Centrer la caméra sur n'importe quel événement Membre10
Centrer la caméra sur n'importe quel événement Membre15
Centrer la caméra sur n'importe quel événement Padago10
Centrer la caméra sur n'importe quel événement Altrui10
Centrer la caméra sur n'importe quel événement Event-10
Centrer la caméra sur n'importe quel événement Partag10
Centrer la caméra sur n'importe quel événement Promot10
Centrer la caméra sur n'importe quel événement Riche_10
Centrer la caméra sur n'importe quel événement Collec10
Centrer la caméra sur n'importe quel événement Collec11
Centrer la caméra sur n'importe quel événement Collec12
Centrer la caméra sur n'importe quel événement Mister10
Centrer la caméra sur n'importe quel événement Projet15
Centrer la caméra sur n'importe quel événement Projet10


Centrer la caméra sur n'importe quel événement Empty
MessageSujet: Re: Centrer la caméra sur n'importe quel événement   Centrer la caméra sur n'importe quel événement EmptySam 20 Juil 2013 - 18:15

Ça peut s'avérer utile comme script, merci d'avoir fait découvrir ça.
Revenir en haut Aller en bas
lidenvice
Ancien staffeux
Ancien staffeux
lidenvice

Masculin
Messages postés : 1955
Date d'inscription : 18/10/2011
Jauge LPC :
Centrer la caméra sur n'importe quel événement 891527140068 / 10068 / 100Centrer la caméra sur n'importe quel événement 8915271400

Centrer la caméra sur n'importe quel événement Membre10
Centrer la caméra sur n'importe quel événement Doyen10
Centrer la caméra sur n'importe quel événement Travai10
Centrer la caméra sur n'importe quel événement Membre15
Centrer la caméra sur n'importe quel événement Altrui10
Centrer la caméra sur n'importe quel événement Padago10
Centrer la caméra sur n'importe quel événement Scanar10
Centrer la caméra sur n'importe quel événement Mappeu10
Centrer la caméra sur n'importe quel événement Event-10
Centrer la caméra sur n'importe quel événement Maker_10
Centrer la caméra sur n'importe quel événement Projet16
Centrer la caméra sur n'importe quel événement Mythe_10
Centrer la caméra sur n'importe quel événement Riche_10
Centrer la caméra sur n'importe quel événement Collec10
Centrer la caméra sur n'importe quel événement Collec11
Centrer la caméra sur n'importe quel événement Collec12
Centrer la caméra sur n'importe quel événement Collec13
Centrer la caméra sur n'importe quel événement Antino10
Centrer la caméra sur n'importe quel événement Serial10


Centrer la caméra sur n'importe quel événement Empty
MessageSujet: Re: Centrer la caméra sur n'importe quel événement   Centrer la caméra sur n'importe quel événement EmptyDim 21 Juil 2013 - 22:54

Merci pour le partage, je te donnes des points paske voilà...
Revenir en haut Aller en bas
Contenu sponsorisé




Centrer la caméra sur n'importe quel événement Empty
MessageSujet: Re: Centrer la caméra sur n'importe quel événement   Centrer la caméra sur n'importe quel événement Empty

Revenir en haut Aller en bas
 
Centrer la caméra sur n'importe quel événement
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [VX ACE] affichage des hp centrer
» [XP - ACE] Battle camera
» Caméra dynamique en combat
» [SBS VXAce] Gestion de la caméra.
» "Aplatir" un événement sur la map

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker VXAce :: Autres-
Sauter vers: