Page 1 sur 1

Petit utilitaire de manipulation du Panorama

Publié : dim. août 21, 2011 3:22 pm
par nuki
Description
Ce script permet de manipuler très très facilement les panoramas, changements d'image, de défilement automatique, de vitesse de défilement

Installation

Copier / coller le script au dessus de main

Utilisation

# Panorama::changepicture = new_picture > Change l'image du panorama
# Panorama::speed_x = new_speed > Change la vitesse de déplacement en X
# Panorama::speed_y = new_speed > Change la vitesse de déplacement en Y
# Panorama::active_loop_x = true|false > Active/désactive le défilement automatique en X
# Panorama::active_loop_y = true|false > Active/désactive le défilement automatique en Y
# Panorama::modify(new_picture, defilement_automatique_x, defilement_automatique_y, vitesse_x, vitesse_y) > Changement à la volée
# Panorama::modify(defilement_automatique_x, defilement_automatique_y, vitesse_x, vitesse_y) > Changement des déplacements à la volée

Code

Code : Tout sélectionner

#Auteur: Nuki
#Liste des méthodes utilisables
#=============================================================
# Panorama::changepicture = new_picture > Change l'image du panorama
# Panorama::speed_x = new_speed > Change la vitesse de déplacement en X
# Panorama::speed_y = new_speed > Change la vitesse de déplacement en Y
# Panorama::active_loop_x = true|false > Active/désactive le défilement automatique en X
# Panorama::active_loop_y = true|false > Active/désactive le défilement automatique en Y
# Panorama::modify(new_picture, defilement_automatique_x, defilement_automatique_y, vitesse_x, vitesse_y) > Changement à la volée
# Panorama::modify(defilement_automatique_x, defilement_automatique_y, vitesse_x, vitesse_y) > Changement des déplacements à la volée
#=============================================================
class Game_Map
  attr_accessor :parallax_name
  attr_accessor :parallax_loop_x
  attr_accessor :parallax_loop_y
  attr_accessor :parallax_sx
  attr_accessor :parallax_sy
end

module Panorama
  class << self
   
    def change_picture=(new_picture)
      $game_map.parallax_name = new_picture
    end
   
    def active_loop_x=(active = true)
      active = (active) ? true : false
      $game_map.parallax_loop_x = active
    end
   
    def active_loop_y=(active = true)
      active = (active) ? true : false
      $game_map.parallax_loop_y = active
    end
   
    def speed_x=(speed)
      raise RuntimeError.new("Argument Invalide Exception") unless speed.instance_of?(Fixnum)
      if speed == 0
        Panorama::active_loop_x = false
        return false
      end
      $game_map.parallax_sx = speed
      return true
    end
   
    def speed_y=(speed)
      raise RuntimeError.new("Argument Invalide Exception") unless speed.instance_of?(Fixnum)
      if speed == 0
        Panorama::active_loop_y = false
        return false
      end
      $game_map.parallax_sy = speed
    end
   
    def modify(*args)
      #new_panorama, loop_x, loop_y, speed_x, speed_y
      if args.length == 5
        Panorama::change_picture = args[0]
        Panorama::active_loop_x = args[1]
        Panorama::active_loop_y = args[2]
        Panorama::speed_x = args[3]
        Panorama::speed_y = args[4]
      elsif args.length == 4
        Panorama::active_loop_x = args[0]
        Panorama::active_loop_y = args[1]
        Panorama::speed_x = args[2]
        Panorama::speed_y = args[3]
      else
        raise RuntimeError.new("Argument Invalide Exception")
      end
    end
   
  end
end
 

Publié : dim. août 21, 2011 3:44 pm
par KaYsEr
Celui là tu l'avais fait y a un moment nan jcrois.

(C'est trop dommage que même avec ça les créateurs se contentent toujours du minimum. :(
On a quelques exceptions parfois quand même. Au moins ça permet de faire honneur à ce genre de boulot.)

Publié : dim. août 21, 2011 4:13 pm
par nuki
merci.
il ne me semble pas l'avoir fait y a longtemps. J'avais fait une version toute pourrie avant :D

Publié : dim. août 21, 2011 4:19 pm
par Dentelle127
Je ne peux pas commenter du tout, n'y connaissant rien... mais je trouve que c'est sympa de ta part d'apporter ta matière dans cette section, nuki ! ;)

Publié : dim. août 21, 2011 4:22 pm
par KaYsEr
Awi c'est vrai, c'était surtout bien plus court.

Publié : dim. août 21, 2011 4:26 pm
par nuki
N'hésitez pas a voir les autres scripts :)
Je suis sur qu'ils seraient très pratique pour Koruldia notamment QuickSave pour faire facilement son propre système de sauvegarde (en event ou sans)
et Skip_title, bien mieux que l'horreur de Wortana :)

Publié : dim. août 21, 2011 4:49 pm
par KaYsEr
Je suis sur qu'ils seraient très pratique pour KoRuLdiA notamment QuickSave pour faire facilement son propre système de sauvegarde (en event ou sans)
Je crois que c'est possible oui. Pour l'instant niveau dev j'ai une map de démarrage qui comporte des téléporteurs vers les endroits qu'il me faut tester.
et Skip_title, bien mieux que l'horreur de Wortana
Lui par contre je l'avais fait, ça marche pareil sauf que j'ai pas besoin de changer un switch mais me suffit de maintenir une touche au démarrage pour restaurer le title si j'en veux, mais quand je maintiens rien ça skip et va direct sur la map à téléporteurs dont jparle plus haut. (en fait c'est un panorama avec une grille de 32² et j'écris direct dessus à la tablette en foutant des flèches sur les téléporteurs pour me rappeler quand y a trop de trucs.

Par contre comme je disais en news, si par la suite tu veux bosser sur un gros truc solide du jeu, on pourra voir. :clin:

Publié : dim. août 21, 2011 4:53 pm
par nuki
oui je veux bien :) Mes projets avancent super bien et j'ai envie de faire des choses plus conceptuel.
Comme je vois que Koruldia avance bien :) je suis près à donner de mon temps :)