❤ 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
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
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 :
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 :
1
| $nom=Acceleration.new(0, 0.5, 4) |
Finalement, la première ligne est la seule à modifier... ^^
Mis à jour le 22 octobre 2020.
|