Rpg maker xp
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Rpg maker xp

forum pour rpg maker :
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
ETB Pokémon Fable Nébuleuse : où acheter le coffret dresseur ...
Voir le deal

 

 Nouvel ecran title

Aller en bas 
AuteurMessage
Soroshiya
Modérateur
Modérateur
Soroshiya


Masculin
Nombre de messages : 124
Age : 32
Date d'inscription : 16/11/2007

Feuille personnelle
PAs (Points d'Aide):
Nouvel ecran title Left_bar_bleue0/130Nouvel ecran title Empty_bar_bleue  (0/130)
Permis à Points:
Nouvel ecran title Left_bar_bleue40/40Nouvel ecran title Empty_bar_bleue  (40/40)

Nouvel ecran title Empty
MessageSujet: Nouvel ecran title   Nouvel ecran title Icon_minitimeSam 17 Nov - 5:29

Nom du script : Nouvel écran titre
Auteur : Corbaque
Fonction : Permet d'avoir un nouvel écran titre
Image(s) : Nouvel ecran title Scenetitredmo8dk
Ressource(s) : les images des choix, à mettre dans le dossier "picture" :
Nouvel ecran title 17sg
Nouvel ecran title 27zr
Nouvel ecran title 39bt
Et puis un petit fond à mettre dans le dossier Titles :
Nouvel ecran title Fond7kg
Remarque : Merci de présicer si le script est fonctionnel, et de mettre les script qui sont compatible avec ou non.
Installation : Allez dans l'éditeur de script ( F11 ) et suivez les instructions ci-dessous .

A mettre au dessus de main, nommez le " title_cosmo "

Code:
#=============================================
# Script créé par Corbaque
#---------------------------------------------
# Modification du menu titre,
# Les mouvement circulaire sont réglés pour
# Trois Eléments, ci vous en voulez plus,
# Contactez moi : [url=http://snakerpgmxp.free.fr]http://snakerpgmxp.free.fr[/url]
# Ce script peu 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 modifiable, certain
# problême peuvent être décelés, rien de bien méchant,
# mais le principale est de savoir personnalisé son
# sprite (expliqué aprés les sprites)
#=====================================================
#<><><><><><><><><><><><><><><><>
# 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
modifient en permanence (mouvements) de même pour l'opacitée
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)!
Citation :
- 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])).
end
Revenir en haut Aller en bas
 
Nouvel ecran title
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Rpg maker xp :: rpg maker xp :: Scripts :: Scripts Menu-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser