Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

473 connectés actuellement

30732761 visiteurs
depuis l'ouverture

2740 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Hellsoft

RPG Maker VX

Le Comptoir Du clickeur

Tous nos partenaires

Devenir
partenaire



Accélération progressive du héros

Permet de faire accélérer progressivement votre héros, mais également de lui faire perdre tout cet élan en cas d'arrêt. Pour XP et VX.

Script pour RPG Maker XP
Ecrit par Salamandar, cari974
Publié par Salamandar (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Ce script permet de faire accélérer le héros progressivement, c'est à dire de plus en plus vite, sachant que si il s'arrête, il perd tout son élan !

Tout d'abord, voila le script en lui-même. Collez-le dans un nouveau script au dessus de Main, avec n'importe quel nom:

Pour XP, par Salamandar

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#----------------------------------------------------------------------------------------------------------------------------
#
#   Script d'acceleration, par Salamandar.
#   Ce script permet de faire accelerer le héros, qui ira donc de plus en plus vite
#   tant qu'il ne s'arrête pas.
#   Il est une alternative au dash mode.
#
#   Utilisation : Sur les cartes où vous voulez rendre disponible cette option, mettez
#   un event en processus //. Vous pouvez aussi mettre un event commun en proc. //,
#   mais je en garentie pas l'absence de bugs ! ;-)
#   Dedans, mettez :     
#
#            script : $nom=Acceleration.new(vitesse_de_départ, vitesse_accélération, accélération_max)
#                boucle
#                    $nom.acceleration
#                    $nom.arrêt
#                    attendre 1 frame
#                fin de boucle
#
#   "nom" est remplaçable par n'importe quoi.
#   "vitesse_de_départ" est la vitesse a laquelle votre héros commencera son accélération. Au dessus de 6, c'est inutile, car il sera déjà au max !
#   "vitesse_accélération" est la vitesse a laquelle votre héros atteindra la vitesse maximale. Je conseille un nombre entre 0 et 1.
#   "accélération_max" est la vitesse que votre héros ne pourra pas dépasser. 6 est inutile car il ne pourra jamais aller plus vite !
#   
#    Toutes ces valeurs peuvent être en décimales, les vitesse ne sont pas limitées entre 1 et 6 !
#     Bon amusement !  ;-)
#
#----------------------------------------------------------------------------------------------------------------------------
 
 
 
 
class Acceleration
 
     def initialize(vitesse_de_départ, vitesse_accélération, accélération_max)
       
       @vitesse_de_départ=vitesse_de_départ       #attribution des arguments
       @accélération=vitesse_accélération
       @accélération_max=accélération_max
       
      end
 
    def acceleration     #cette fonction concerne le départ
   
        if $game_player.moving?           #condition : Si le héros est en train de bouger...
          if $game_player.move_speed<@accélération_max        #...tant que la vitesse est en dessous de la vitesse max...
             $game_player.move_speed+=@accélération               #...augmenter la vitesse a chaque frame
           end
        end
   
    end
     
      def arrêt       #cette fonction concerne l'arrêt
       
         if Input.press?(Input::LEFT)          #Si aucune touche n'est pressée...
         else
           if Input.press?(Input::RIGHT)
           else
             if Input.press?(Input::UP)
             else
               if Input.press?(Input::DOWN)
               else
                 
                 $game_player.move_speed=@vitesse_de_départ      #...alors on remet le héros a sa vitesse de départ.
                 
                 
               end
             end
           end
         end
         
 
  end
 
end



Pour VX, par Salamandar, édité par cari974

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
=begin
 
Script d'accélération, de Salamandar adapté pour VX par Cari974.
Ce script permet de faire accélérer le héros, qui ira donc de plus en plus vite
tant qu'il ne s'arrête pas.
Il est une alternative au dash mode.
 
Utilisation : sur les cartes où vous voulez rendre disponible cette option, mettez
un évent en processus parallèle.
Si vous désirez faire fonctionner ce script tout le long de votre jeu, vous pouvez aussi
mettre les lignes de code nécessaires dans un évènement commun.
Dedans, mettez :
=>
script : $nom=Acceleration.new(vitesse_de_départ, vitesse_accélération, accélération_max)
boucle
  script : $nom.acceleration
  script : $nom.arrêt
  attendre 1 frame
fin de boucle
<=
"nom" est remplaçable par n'importe quoi.
"vitesse_de_départ" est la vitesse à laquelle votre héros commencera son accélération.
"vitesse_accélération" est la vitesse à laquelle votre héros atteindra la vitesse maximale. Je conseille un nombre entre 0 et 1.
"accélération_max" est la vitesse que votre héros ne pourra pas dépasser. Max 6 par défaut.
script : = veut dire que vous devez faire un appel de script ...
 
Toutes ces valeurs peuvent être en décimales, les vitesses ne sont pas limitées entre 1 et 6 !
Si vous souhaitez dépassez la limite de 6, allez dans "Game_Character", lignes 57
(@move_speed = 4), et changez la valeur 4 par la valeur max souhaité.
 
Vous pouvez donc constater que seul la première ligne est à changer.
Exemple d'utilisations :
$nom=Acceleration.new(0, 0.2, 4)
$nom=Acceleration.new(0.5, 0.1, 4)
$nom=Acceleration.new(0, 0.5, 8)
 
Bon amusement ! ;-)
 
=end
 
class Game_Character
  attr_accessor :move_speed
end
 
class Acceleration
  
  def initialize(vitesse_de_départ, vitesse_accélération, accélération_max)
    @vitesse_de_départ=vitesse_de_départ #attribution des arguments
    @accélération=vitesse_accélération
    @accélération_max=accélération_max 
  end 
 
  def acceleration #cette fonction concerne le départ
    if $game_player.moving? #condition : Si le héros est en train de bouger...
      if $game_player.move_speed<@accélération_max #...tant que la vitesse est en dessous de la vitesse max...
        $game_player.move_speed+=@accélération #...augmenter la vitesse a chaque frame
      end
    end
  end
 
  def arrêt #cette fonction concerne l'arrêt
    if Input.press?(Input::LEFT) #Si aucune touche n'est pressée...
    else
      if Input.press?(Input::RIGHT)
      else
        if Input.press?(Input::UP)
        else
          if Input.press?(Input::DOWN)
          else
            $game_player.move_speed=@vitesse_de_départ #...alors on remet le héros a sa vitesse de départ.
          end
        end
      end
    end
  end
 
end



Comment l'utiliser ?

Sur les cartes où vous voulez rendre disponible cette option, mettez un event en processus //. Vous pouvez aussi mettre un event commun en proc. //, mais je en garentie pas l'absence de bugs ! ;-)

Dedans, mettez :

Portion de code : Tout sélectionner

1
2
3
4
5
6
$nom=Acceleration.new(vitesse_de_départ, vitesse_accélération, accélération_max)
        boucle
            script : $nom.acceleration
            script : $nom.arrêt
            attendre 1 frame
        fin de boucle



"nom" est remplaçable par n'importe quoi.
"vitesse_de_départ" est la vitesse a laquelle votre héros commencera son accélération.
A 0, il partira sans vitesse de base, c'est plus réaliste.
"vitesse_accélération" est la vitesse a laquelle votre héros atteindra la vitesse maximale.
Moi, je met 0.1, c'est assez réaliste. Je vous conseille de mettre un nombre entre 0 et 1 car au dessus de 1, l'acceleration est trop
rapide et on ne le voit même pas...
"accélération_max" est la vitesse que votre héros ne pourra pas dépasser.
6 est le maximum, car on ne peut pas aller plus vite.

Petit rappel : Les vitesse rondes de rmxp sont :
1 : Très lent
2 : Lent
3 : Modéré
4 : Normal
5 : Rapide
6 : Très rapide

Mais vous pouvez tout aussi bien mettre un vitesse décimale, qui sera donc située entre deux de ces paliers.


Exemple : Je veux que mon héros parte sans vitesse initiale (donc 0), qu'il accelere assez rapidement (à 0.5), et qu'il ne puisse pas
dépasser la vitesse 4.

Je met donc en première ligne :

Portion de code : Tout sélectionner

1
$nom=Acceleration.new(0, 0.5, 4)



Finalement, la première ligne est la seule à modifier... ^^


Mis à jour le 22 octobre 2020.






Miska2 - posté le 25/07/2008 à 21:46:33 (449 messages postés)

❤ 0

// ca n'a rien avoir avec de l'informatique (symbole de math voulant dire parallele)
si c'est le fait de mettre l'event en processus parallele qui te bloque , hop direction les tuto

bon je vais essayer

edit: il marche le script, par contre il ne s'arete pas completement meme quand on ne touche a aucune touche

edit2: en + il est incompatible avec celui pour marcher dans 8 direction

Bientot les vacances. Vivement!


cquentin48 - posté le 28/12/2008 à 14:32:17 (20 messages postés)

❤ 0

Dites il faut appuyer sur quelle touche pour accélerer parce que ça ne marche pas moi.

Mon forum : http://spaceconquest.monalliance.net


AkikazeTenoko - posté le 17/02/2009 à 14:10:00 (23 messages postés)

❤ 0

Vent d'Automne

Le script fonctionne bien, mais il y a quelque chose qui ne me va pas.

J'essaie de modifier le script pour que le personnage, lorsque l'on n'appuie sur aucune touche, décélère (autrement dit, pour qu'il s'arrête progressivement à l'inverse de l'accélération) ; mais je n'arrive pas à établir un script apte à cela...

Si quelqu'un sait comment le réaliser, merci de me (nous) l'indiquer ! :)


Miska2 a dit:

edit: il marche le script, par contre il ne s'arete pas completement meme quand on ne touche a aucune touche


Ah bon ? Chez moi il s'arrête bel et bien (trop vite quoi - cf ci-dessus...).


MB097 - posté le 22/02/2010 à 13:27:02 (471 messages postés)

❤ 0

Sbibitatabi... Bonjour!!

Enorme ça fait comme le vélo course dans pokemon rubis:lol

Ma galerie =) http://www.rpg-maker.fr/index.php?page=gallerie&auteur=15373


voolfy - posté le 13/03/2010 à 23:57:17 (8 messages postés)

❤ 0

Pour stopper cette option, replacer la première ligne

Spoiler (cliquez pour afficher)



par

Citation:

$nom=Acceleration.new(4, 0.5, 4)



Et voila :ange


firas - posté le 23/06/2011 à 19:22:06 (2 messages postés)

❤ 0

oui mais $nom=Acceleration.new(vitesse_de_départ, vitesse_accélération, accélération_max) on le met comment?

C.F.B

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers