Buzzer d'event !

Voir le sujet précédent Voir le sujet suivant Aller en bas

Buzzer d'event !

Message par Kolom le Jeu 5 Jan - 10:45

Script compatible VX et VX.ACE
Ce script est une adaptation d'un script XP de Fabien, (j'ai modifié la structure et l'ai adapté a VX et VXACE). Le gros du travail est de Fabien.

Fabien a dit
Un script qui fait tressailler l'événement, buzzer comme dans les Golden Sun. Je m'en sers pour qu'il exprimer de la surprise par exemple.
Il suffit de mettre "Insérer Script" dans un event et "buzz id" en code, en remplacent id par l'id de l'évt que vous voulez.
Molok a dit
Bien pour manifester un sentiment, moins expressif qu'un saut Smile

Utilisation
Code:
buzz 5 
fait buzzer levents 5 (utiliser 0 pour buzzer le héros)
prototype:
Code:
buzz id, amplitude = 0.1, duration = 16, periode = 16
Il est donc possible de paramétrer l'amplitude, la durée et la période (pour la fonction sinus).
Cependant, les données par défaut sont cools Very Happy

Code:
buzz_group 1, 2, 3, 4, 5
Applique buzz aux évenements de 1 à 5. (mais sans le paramétrage des données complémentaires)

Installation
Au dessus de main

Code:
#=============================================================================
# Buzzer => Permet d'appliquer une légère transformation sur les evenements
# Script par FABIEN (Factory) pour XP légèrement modifié par Molok (pour VX)
#==============================================================================

#==============================================================================
# ** Game_Interpreter
#------------------------------------------------------------------------------
#  An interpreter for executing event commands. This class is used within the
# Game_Map, Game_Troop, and Game_Event classes.
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  # * Buzz event
  #--------------------------------------------------------------------------
  def buzz id, amplitude = 0.1, duration = 16, periode = 16
    event = (id == 0 ? $game_player : $game_map.events[id])
    event.buzz = duration
    event.buzz_length = duration
    event.buzz_amplitude = amplitude
  end
  #--------------------------------------------------------------------------
  # * Buzz events
  #--------------------------------------------------------------------------
  def buzz_group *ids
    ids.each{|event|buzz(event)}
  end
end

#==============================================================================
# ** Game_Character
#------------------------------------------------------------------------------
#  This class deals with characters. It's used as a superclass of the
# Game_Player and Game_Event classes.
#==============================================================================
class Game_Character
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :buzz
  attr_accessor :buzz_amplitude
  attr_accessor :buzz_length
end
class Sprite_Character
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias old_initialize initialize
  alias old_update update
  #--------------------------------------------------------------------------
  # * Object initialization
  #--------------------------------------------------------------------------
  def initialize(viewport, character = nil)
    old_initialize(viewport, character)
    self.character.buzz = 0
    self.character.buzz_amplitude = 0.1
    self.character.buzz_length = 16
  end
  #--------------------------------------------------------------------------
  # * compute Buzz Transformation
  #--------------------------------------------------------------------------
  def calc_buzz
    self.character.buzz_amplitude*Math.sin(self.character.buzz*6.283/self.character.buzz_length)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    self.zoom_x = self.zoom_y = 1
    old_update
    unless self.character.buzz== nil || self.character.buzz == 0
      transformation = self.calc_buzz
      self.zoom_x += transformation
      self.zoom_y -= transformation
      self.character.buzz -= 1
    end
  end
end

Kolom
Poulet trizo Lv.3
Poulet trizo Lv.3

Messages : 16

Fiche
Palmarès: 1
Spécialité: Script
Avertissements: Aucun

Voir le profil de l'utilisateur http://funkywork.blogspot.com/

Revenir en haut Aller en bas

Re: Buzzer d'event !

Message par elm6 le Jeu 5 Jan - 12:35

Ah, c'est assez cool! ^^
J'utilise les sauts et émoticônes pour ce genre de choses, mais ce buzzer propose une variante plutôt cool on dirait.
Puisqu'il est compatibles VX en plus de Ace, je le testerais prochainement pour voir le rendu.

Merci du partage! =)

_________________

« Parce que certains mystères ne demandent pas à être compris, ils ont pour seul désir d’être vécus. » - Oskar Fleisjr, Chroniques de Liève.
avatar
elm6
Justicier Lv.Zero
Justicier Lv.Zero

Messages : 2547
Age : 26

Fiche
Palmarès: 2
Spécialité: Ecriture, making
Avertissements: Aucun

Voir le profil de l'utilisateur http://imagin.jeunforum.com/portal.htm

Revenir en haut Aller en bas

Re: Buzzer d'event !

Message par garsim le Jeu 5 Jan - 13:04

Je vais paraître un peu noob, mais... plus précisément, que signifie "buzzer" dans ce contexte ? Embarassed
Intuitivement, j'ai pensé à quelque chose du genre "Questions pour un champion" mais ça doit pas être ça... comment ça je suis ringard ?

_________________
Plop(py).
avatar
garsim
Régent Lv.Zero
Régent Lv.Zero

Messages : 893
Age : 25

Fiche
Palmarès: 3
Spécialité: Rédaction, programmation (un peu)
Avertissements: Aucun

Voir le profil de l'utilisateur http://landigo.over-blog.com

Revenir en haut Aller en bas

Re: Buzzer d'event !

Message par elm6 le Jeu 5 Jan - 13:20

Maintenant que j'ai testé, ça ressemble vraiment à Golden Sun.
En fait ça fait "tressaillir" le perso, à la manière d'un *sigh*.
Genre un mec dos tourné, tu arrives pour lui parler et là ton event lance le buzzer pour qu'il tressaille avant de te sortir:
"Woh tu m'as fait flipper man!"
(exemple bidon mais adapté)

En bref, c'est un effet graphique sur les events ou le heros afin d'appuyer un sentiment ou truc du style.


Dernière édition par elm6 le Jeu 5 Jan - 14:14, édité 1 fois

_________________

« Parce que certains mystères ne demandent pas à être compris, ils ont pour seul désir d’être vécus. » - Oskar Fleisjr, Chroniques de Liève.
avatar
elm6
Justicier Lv.Zero
Justicier Lv.Zero

Messages : 2547
Age : 26

Fiche
Palmarès: 2
Spécialité: Ecriture, making
Avertissements: Aucun

Voir le profil de l'utilisateur http://imagin.jeunforum.com/portal.htm

Revenir en haut Aller en bas

Re: Buzzer d'event !

Message par Kolom le Jeu 5 Jan - 13:22

Exactement )

Kolom
Poulet trizo Lv.3
Poulet trizo Lv.3

Messages : 16

Fiche
Palmarès: 1
Spécialité: Script
Avertissements: Aucun

Voir le profil de l'utilisateur http://funkywork.blogspot.com/

Revenir en haut Aller en bas

Re: Buzzer d'event !

Message par garsim le Jeu 5 Jan - 13:26

OK, merci pour la réponse. Smile

_________________
Plop(py).
avatar
garsim
Régent Lv.Zero
Régent Lv.Zero

Messages : 893
Age : 25

Fiche
Palmarès: 3
Spécialité: Rédaction, programmation (un peu)
Avertissements: Aucun

Voir le profil de l'utilisateur http://landigo.over-blog.com

Revenir en haut Aller en bas

Re: Buzzer d'event !

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum