Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
436 connectés actuellement
30732753 visiteurs depuis l'ouverture
2732 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Messages postés par NanakyTim Nombre de messages référencés sur Oniromancie (non supprimés): 10777 Aller à la page: 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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
Posté dans Forum - [RMVX] Continuer un évènement commun lors de la téléportation |
NanakyTim -
posté le 02/02/2017 à 17:35:36. (23817 messages postés) |
| Bonsoir Mamie.
J'ai fait la même expérience avec RMXP, les events en processus parallèle (communs ou non d'ailleurs) se relancent à chaque changement de map.
Il n'y a rien pour empêcher ça, mais il y a cependant des moyens de contourner ce problème.
Tu peux opter pour la solution shadok :
Tu divises ton event commun de fruits en deux events communs, dans le premier tu auras:
1
2
| Blablabla
-Variable: ATTENDRE - rendre égale à : 100 |
Tu remplaces donc le "attendre 100 frames" par une variable équivalente.
Dans le second event commun, tu auras:
1
2
3
4
5
6
| Condition : Si "Variable : ATTENDRE est strictement supérieure à 0 :
-Attendre 1 frame
-Variable : ATTENDRE - soustraire : 1
SINON :
-Variable : ATTENDRE - rendre égale à 0
-Reste de ton code |
Le rendre égale à 0 sert à débugger au cas où elle passe pour X raison dans les négatifs.
En résumé ça utilise une variable pour compter le temps d'attente, et ça ignore donc la remise le reboot des events communs en processus parallèle.
Y'a sûrement 1000 fois plus simple mais là tout de suite je vois pas, donc 'faudra faire avec.
|
Héros ou Fléau ? Devenez le Roi de Quineroy ! ~ Plongez dans l'univers sombre du Darkans ! ~ Dimens Reis... Allez y faire un tour. ~ Rangez votre chambre ! ~ Avez-vous peur du noir ? ~ Sauvez le futur, en allant dans le passé: BOCALATOR... |
Posté dans Forum - [RMXP] Transition Zelda / Caméra loufoque |
NanakyTim -
posté le 02/02/2017 à 10:04:00. (23817 messages postés) |
| Je l'ai essayé et...
Chez moi ça marche pas
J'ai essayé sur deux maps de taille différentes avec deux interrupteurs différents (en changeant bien la ligne 42).
Edit:
En fait ça marche si on active/désactive l'interrupteur "manuellement", en passant par le menu F9. Mais bizarrement si on le fait via un event qui active ou non l'interrupteur, le problème persiste.
Redit:
C'est corrigé ! J'ai viré la ligne 42 qui définissait un truc en rapport à l'interrupteur, pour y mettre l'interrupteur lui-même aux lignes tout en bas. Je sais pas trop pourquoi mais ça fonctionne comme ça, du coup tant mieux.
Pour ceux qui veulent, voilà le code:
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
| #switch off scroll_zelda by kanatos
#pour les utilisateurs :
#L'interrupteur pour activer/désactiver le script est l'interrupteur "70"
#si vous voulez changer l'interrupteur qui active/desactive, changez la valeur #de $game_switches[70]
#aux lignes 138, 146 et 153 par la valeur que vous voulez.
#==============================================================================
# ** Classic Zelda Screen Transitions
#------------------------------------------------------------------------------
# * Created by: albertfish
# * Version: 1.0
# * Last edited: September 7, 2010
#------------------------------------------------------------------------------
# Version History:
# Version 1.0: September 7, 2010
# - Initial release
#------------------------------------------------------------------------------
# Description:
# This script mimics the screen transitions found in the 2D Zelda Games.
#------------------------------------------------------------------------------
# Features:
# - Separeated a large map in to small screen size parts and adds a smooth
# transition between the parts.
#------------------------------------------------------------------------------
# Install Instructions:
# Place this script above the main script and below the default scripts.
#==============================================================================
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# This class brings together map screen sprites, tilemaps, etc.
# It's used within the Scene_Map class.
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias af_czst_ssm_init initialize
def initialize
@x = ($game_player.x - $game_player.x % 20) * 128
@y = ($game_player.y - $game_player.y % 15) * 128
@amount_x = 0
@amount_y = 0
@scrolling = false
@prev_x = $game_player.x
@prev_y = $game_player.y
$game_map.display_x = @x
$game_map.display_y = @y
af_czst_ssm_init
end
#--------------------------------------------------------------------------
# * Scroll Right
#--------------------------------------------------------------------------
def scroll_right
@x += 128
@amount_x -= 1
if @amount_x <= 0
@scrolling = false
end
end
#--------------------------------------------------------------------------
# * Scroll Left
#--------------------------------------------------------------------------
def scroll_left
@x -= 128
@amount_x += 1
if @amount_x >= 0
@scrolling = false
end
end
#--------------------------------------------------------------------------
# * Scroll Up
#--------------------------------------------------------------------------
def scroll_up
@y -= 96
@amount_y -= 1
if @amount_y <= 0
@scrolling = false
end
end
#--------------------------------------------------------------------------
# * Scroll Down
#--------------------------------------------------------------------------
def scroll_down
@y += 96
@amount_y += 1
if @amount_y >= 0
@scrolling = false
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
alias af_czst_ssm_update update
def update
if !@scrolling
# Determine if the screen needs to scroll left or right
if $game_player.x % 20 == 0 && ($game_player.x - 19) * 128 > $game_map.display_x
@amount_x = 20
@scrolling = true
@prev_x += 1
elsif $game_player.x % 20 == 19 && ($game_player.x) * 128 < $game_map.display_x
@amount_x = -20
@scrolling = true
@prev_x -= 1
end
# Determine if the screen needs to scroll up or down
if $game_player.y % 15 == 0 && ($game_player.y - 14) * 128 > $game_map.display_y
@amount_y = -20
@scrolling = true
@prev_y += 1
elsif $game_player.y % 15 == 14 && ($game_player.y) * 128 < $game_map.display_y
@amount_y = 20
@scrolling = true
@prev_y -= 1
end
else @scrolling
# Scroll either left or right
if @amount_x > 0
scroll_right
elsif @amount_x < 0
scroll_left
end
# Scroll either up or down
if @amount_y < 0
scroll_down
elsif @amount_y > 0
scroll_up
end
$game_player.x = @prev_x
$game_player.y = @prev_y
end
if (!$game_switches[70])
$game_map.display_x = @x
$game_map.display_y = @y
@prev_x = $game_player.x
@prev_y = $game_player.y
end
af_czst_ssm_update
end
end
class Game_Character
def x=(x)
if (!$game_switches[70])
@x = x
end
end
def y=(y)
if (!$game_switches[70])
@y = y
end
end
end
|
J'ai mis l'interrupteur 70 mais vous pouvez bien évidemment le changer.
En tout cas mille fois merci Kanatos, ça me sera super utile.
|
Héros ou Fléau ? Devenez le Roi de Quineroy ! ~ Plongez dans l'univers sombre du Darkans ! ~ Dimens Reis... Allez y faire un tour. ~ Rangez votre chambre ! ~ Avez-vous peur du noir ? ~ Sauvez le futur, en allant dans le passé: BOCALATOR... |
Aller à la page: 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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
|
|
|