Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Tutos: Comparaison des Commandes (...) / Tutos: Equilibrer les combats / Guides: Les templates pour les tilesets (...) / Jeux: The Legend of Zelda: The Trident (...) / Jeux: PrincessNinjato saves SkyRealm (...) / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

124 connectés actuellement

10903663 visiteurs
depuis l'ouverture

99 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

Zarok

Level Up!

Lunae - le bazar d'Emz0

Tous nos partenaires

Devenir
partenaire



Menu Titre

Un menu d'écran titre avec des commandes en images, et d'autres options.

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

Auteur : Corbaque
Logiciel : RPG Maker XP
Nombre de scripts : 1

Fonctionnalités
- Refonte du menu titre, avec remplacement du menu de commandes par des images
- Tout est personnalisable !
- La sélection à plusieurs spécificités, elle se fait en ovale, et un effet de fondu est ajouté. Lorsqu'on lance la scene, un petit effet se lance.
Vous pouvez aussi remarquer que le systême est un peu différent, la boucle n'est simplement pas la même, mais ce systême permet d'éviter une condition suplémentaire ! image

Conditions d'utilisation
- Vous devez créditer l'auteur (Corbaque).
- Vous pouvez distribuer ce script.

Installation
A mettre au dessus de Main.
Pour les ressources, il vous faut :
- trois images pour les choix, à mettre dans le dossier Graphics/Pictures : "1", "2", "3".
- Et un fond à mettre dans le dossier Graphics/Titles : "Titre du Jeu"

Utilisation
Il existe plusieurs endroits configurables dans le script, notamment le nom des fichiers de ressources (le images, sons ou police d'écriture).
Je vous invite à lire les commentaire plus longs, ils pourraient vous intéresser image

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
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
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
#=============================================
# Script créé par Corbaque
#---------------------------------------------
# Modification du menu titre,
# Les mouvements circulaires sont réglés pour
# Trois Eléments, ci vous en voulez plus,
# Contactez moi : https://snakerpgmxp.free.fr
# Ce script peut circuler librement sur le web
# Tant que je (Corbaque) suis cité.
#=============================================
# ¤ Définition du nom de la scène
class Scene_Title
  # * à l'initialisation
  def initialize
    # - définition de variables locale :
    # Sprites (images)
    @a = Choix_1.new
    @a.x = -200
    @b = Choix_2.new
    @b.x = -200
    @c = Choix_3.new
    @c.x = -200
    @a.opacity = 200
    @t = Titre.new
    @t.x = 220
    @t.y = 190
    @t.opacity = 200
    # chaine de caractères
    @dir = nil
    # numérique
    @i = 0
    $index = 0
    @memory = 0
    @premier = 0
    # switch
    @continuer = false
    # fin de la fonction
  end
  # à l'appelle du script
  def main
    # Appelle la fonction battle_test lors du test du combat
    if $BTEST
      battle_test
      return
    end
    # chargement des données du jeu
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # défintion de $game_system, l'élément de controle principale du jeu
    $game_system = Game_System.new
    # définition du fond
    @fond = Sprite.new
    @fond.bitmap = RPG::Cache.title("fond")
    @fond.zoom_x = 2.5
    @fond.zoom_y = 2.5
    @fondarr = Sprite.new
    @fondarr.bitmap = RPG::Cache.title("fond")
    @fondarr.zoom_x = 2.5
    @fondarr.zoom_y = 2.5
    # place le fond arrière derrière les autres images
    @fondarr.z = -5
    # Jouer une musique
    $game_system.bgm_play($data_system.title_bgm)
    # en 4 fois, chercher si le fichier Save(id).rxdata
    # existe, i auguemente à chaque fois
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continuer = true
      end
    end
    # Fondu de 40 frames (deux secondes)
    Graphics.transition(40)
    # Tant que $scene est égale à cette scene
    while $scene == self
      # Mise à jour graphique
      Graphics.update
      # Mise à jour de l'appui sur bouton
      Input.update
      # Appelle la fonction update
      update
      # Fin de la boucle (tant que)
    end
    # Arrêt de la mise à jour graphique
    Graphics.freeze
    # supression des sprites
    @a.dispose
    @b.dispose
    @c.dispose
    @t.dispose
    @fond.dispose
    @fondarr
    # fin de la fonction
  end
  # définition de la fonction update
  def update
    # effet sur le fond, facultatif
    if @premier != 50
      @fond.z = 100
      @fond.zoom_x -= 0.025
      @fond.zoom_y -= 0.025
      @fondarr.zoom_x -= 0.025
      @fondarr.zoom_y -= 0.025
      @premier += 1
    else
      @fond.opacity -= 5
    end
    # Mise à jour des sprites
    @a.update
    @b.update
    @c.update
    @t.update
    @fond.update
    # Conditions sur le déplacement des fenêtres
    if Input.trigger?(Input::RIGHT) and @memory == 0
      @memory = @i
      $game_system.se_play($data_system.cursor_se)
      $index -= 1
      if $index < 0
        $index = 2  # 2 => nombre de choix - 1
      end
      @dir = "right"
    elsif Input.trigger?(Input::LEFT) and @memory == 0
      @memory = @i
      $game_system.se_play($data_system.cursor_se)
      $index += 1
      $index %= 3 # 3 => # nombre de choix
      @dir = "left"
    elsif @i >= @memory + 30 and @dir == "right"# 30 => nombre de point par mouvement
      @memory = 0
      @dir = nil
    elsif @i <= @memory - 30 and @dir == "left" # 30 => nombre de point par mouvement
      @memory = 0
      @dir = nil
    elsif @dir == "left"
      @i -= 1
    elsif @dir == "right"
      @i += 1
      # fin des conditions
    end
=begin
Déplacement des fenêtre en cercle celon l'index (@i)
traduction :
Position x de la fenêtre est égale à :
rayon du cercle multiplié par le cosinus du produit
de l'index par PI divisé par 45
le tout adittionner au centre du cercle
cette methode peu sembler un peu barbare, mais pour
construire un cercle ou faire un mouvement circulaire
en radian, le calcule ce fait ainsi :
Un nombre multiplié par le double de PI divisé par le
nombre de fraction du cercle, c'est pourquoi le nombre
de fractions du cercle est divisée par deux (simplification)
le point seras déplacé sur le cercle celon l'index
pour les coordonées y, c'est le même systême, mise à part que
le cosinus est remplacé par un sinus.
=end
    @a.x = 200 * Math.cos(@i * Math::PI / 45) + 270
    @a.y = 100 * Math.sin(@i * Math::PI / 45) + 190
    @b.x = 200 * Math.cos((@i + 30) * Math::PI / 45) + 270
    @b.y = 100 * Math.sin((@i + 30) * Math::PI / 45) + 190
    @c.x = 200 * Math.cos((@i + 60) * Math::PI / 45) + 270
    @c.y = 100 * Math.sin((@i + 60) * Math::PI / 45) + 190
    # Conditions servant à modifier l'opacitée des fenêtres celon
    # Leur position x
    if @a.x <= 370
      @a.opacity -= 5
    elsif @a.x >= 220 and @a.opacity <= 200
      @a.opacity += 5
    end
    if @b.x <= 370
      @b.opacity -= 5
    elsif @b.x >= 220 and @b.opacity <= 200
      @b.opacity += 5
    end
    if @c.x <= 370
      @c.opacity -= 5
    elsif @c.x >= 220 and @c.opacity <= 200
      @c.opacity += 5
    end
    # Si la touche Action/selection est appuyée
    if Input.trigger?(Input::C)
      # dans la variable @index
      case $index
      # Quand elle est égale à 0
      when 0
        # Lancer le jeu
        Audio.me_play("Audio/ME/015-Mystery01", 80, 50)
        until @a.zoom_x >= 7 # petit effet sympas ^^
          Graphics.update
          @a.update
          @a.x -= 2
          @a.y -= 2
          @a.zoom_x += 0.04
          @a.zoom_y += 0.04
          @a.opacity -= 2
        end
        go
      when 1
        # Chargement d'une partie
        if @continuer == true
          $game_system.se_play($data_system.buzzer_se)
          return
        else
        Audio.me_play("Audio/ME/015-Mystery01", 80, 50)
        until @b.zoom_x >= 7 # petit effet sympas ^^
          Graphics.update
          @b.update
          @b.x -= 2
          @b.y -= 2
          @b.zoom_x += 0.04
          @b.zoom_y += 0.04
          @b.opacity -= 2
        end
          $scene = Scene_Load.new
        end
      when 2
        # Quitter
        $game_system.se_play($data_system.decision_se)
        Audio.bgm_fade(800)
        Audio.bgs_fade(800)
        Audio.me_fade(800)
        $scene = nil
        # fin de la case
      end
      # fin de la condition
    end
    # fin de la fonction
  end
  # définition de la fonction go
  def go
    # ensemble de définition de variables et d'appels servant à lancer le jeu
    Audio.bgm_stop
    Graphics.frame_count = 0
    $game_screen         = Game_Screen.new
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    $game_party.setup_starting_members
    $game_map.setup($data_system.start_map_id)
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    $game_map.autoplay
    $game_map.update
    $scene = Scene_Map.new
  end
  # définition de la fonction battle_test
  def battle_test
    # ensemble de définition de variables et d'appels servant à tester un combat
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes       = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items         = load_data("Data/BT_Items.rxdata")
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
    Graphics.frame_count = 0
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    $game_party.setup_battle_test_members
    $game_temp.battle_troop_id = $data_system.test_troop_id
    $game_temp.battle_can_escape = true
    $game_map.battleback_name = $data_system.battleback_name
    $game_system.se_play($data_system.battle_start_se)
    $game_system.bgm_play($game_system.battle_bgm)
    $scene = Scene_Battle.new
  end
  # fin du script
end
#=====================================================
# Les quatres scripts suivant ont étés à la base créés
# par Corbaque
#-----------------------------------------------------
# La plupart des données sont modifiables, certains
# problèmes peuvent être décelés, rien de bien méchant,
# mais le principal est de savoir personnaliser son
# sprite. Vous pouvez trouver des explications en fin de script.
#=====================================================
#<><><><><><><><><><><><><><><><>
# Sprite affichant le nom du jeu
#<><><><><><><><><><><><><><><><>
class Titre < Sprite
  def initialize()
    super()
    self.bitmap = Bitmap.new(200, 200)
    self.bitmap.font.name = "Gessele" # Police de caractère différente
    self.bitmap.font.italic = true # Police en Italique
  end
  def update
    # supprime le contenu du sprite (pour mettre à jour)
    self.bitmap.clear
    # défini la couleur du texte
    self.bitmap.font.color = Color.new(0, 200, 250, 255)
    # défini la taille du texte
    self.bitmap.font.size = 50
    # défini le texte
    self.bitmap.draw_text(4, -44, 200, 200, "Titre du Jeu")
    # défini la couleur du texte
    self.bitmap.font.color = Color.new(0, 0, 250, 100)
    # défini la taille du texte
    self.bitmap.font.size = 50
    # défini le texte
    self.bitmap.draw_text(3, -43, 200, 200, "Titre du Jeu")
    # affiche des lignes
    self.bitmap.fill_rect(4, 65, 180, 1, Color.new(0, 200, 250, 50))
    self.bitmap.fill_rect(4, 66, 180, 1, Color.new(0, 200, 250, 100))
    self.bitmap.fill_rect(4, 67, 180, 1, Color.new(0, 200, 250, 150))
    self.bitmap.fill_rect(4, 68, 180, 1, Color.new(0, 200, 250, 100))
    self.bitmap.fill_rect(4, 69, 180, 1, Color.new(0, 200, 250, 50))
  end
end
#<><><><><><><><><><><><><><><><>
# Sprites affichant les choix
#<><><><><><><><><><><><><><><><>
# - Nouvelle partie
class Choix_1 < Sprite
  def initialize()
    super()
    self.bitmap = RPG::Cache.picture("1") # "1" est le nom de l'image
  end
end
# - Chargement
class Choix_2 < Sprite
  def initialize()
    super()
    self.bitmap = RPG::Cache.picture("2")
  end
end
# - Quitter
class Choix_3 < Sprite
  def initialize()
    super()
    self.bitmap = RPG::Cache.picture("3")
  end
end
# /!\ Personnaliser son sprite /!\
=begin
Modifier ses position X et Y est inutile, puisque la scene les
modifie en permanence (mouvements) de même pour l'opacité.
Par contre, l'angle, le blend_type, le ton...
Voici un simple extrait de la doc d'rpgmakerXP traduite en français
pourquoi refaire ce qui existe (le tout à été adapté au contexte)!
 
 - self.z 
La coordonnée Z du sprite.
Plus cette valeur est élevé,
plus le sprite sera affiché près du joueur.
Si plusieurs objets partage la même valeur Z,
l'objet crée le plus récemment sera le plus près du joueur.
 
 - self.ox 
L'abscisse du point de départ du sprite.
 
 - self.oy 
L'abscisse du point départ du sprite.
 
 - self.zoom_x 
Le niveau de Zoom horizontal. 1.0 dénote la taille normal de pixel.
 
 - self.zoom_y 
Le niveau de Zoom vertical. 1.0 dénote la taille normal de pixel.
 
 - self.angle 
L'angle de rotation du sprite.
Spécifies plus de 360 degrés pour une rotation en sens anti-horaire.
Cependant, dessiner un sprite tournant
prend des ressources, donc éviter les abus.
 
 - self.mirror 
Drapeau démontrant que le sprite est retourné horizontalement. Si TRUE(vrai), le sprite sera dessiné retourné.
 
 - self.bush_depth 
La profondeur de camouflage pour ce sprite.
C'est une valeur de pixel indiquant combien la partie basse du sprite
sera affichée comme semi-transaparente.
 
 - self.blend_type 
La mode de transparence du sprite(0: normal, 1: addition, 2: soustraction).
 
 - self.color 
La couleur (Color.new(rouge, vert, bleu, alpha/opacitée) à être mélangée
avec le sprite pour la transparence.
Les valeurs Alpha sont utilisées pour le taux de mélange.
 
 - self.tone 
Le ton de couleur du sprite (Tone.new(rouge, vert, bleu, [gris])).
 
Voila tout, bon courage !
 
=end




Mis à jour le 14 novembre 2020.





guimove31 - posté le 29/10/2008 à 19:20:21 (9 messages postés)

❤ 0

j'ai un bug il me dit :

Le ficher No sush file or directory - Graphics/Pictures/1 n'a pas été trouver

je fait quoi ? faut lui donner un nom spécial à l'image ?

Faire de son mieux ne suffit pas.


Solaris-adz - posté le 01/11/2008 à 10:45:01 (3 messages postés)

❤ 0

Tu fais clic droit, propriété sur l'image qu'a posté Corbaque (pas celle de ton disque dur), tu regarde le nom et tu rrenomme ton image en fonction (celle du disque dur) ;).
Et ce script marche avec le script des pétales de cerisier qui tombent sur l'écran-titre? (j'ai pas encore testé)

Salut à tous!

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 | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Jeux complets | Tous les jeux | 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