RM-Land : le forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



Bienvenue sur RM-Land : Le forum !
Après votre inscription, vous aurez accès à tout le forum : Partage de ressources, de scripts, résolution de vos problèmes, présentations de projets et montage de teams.
 
AccueilLe sitePortailDernières imagesRechercherS'enregistrerConnexion
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

 

 effet de lumiere dans le coin de la map

Aller en bas 
AuteurMessage
Invité
Invité




effet de lumiere dans le coin de la map Empty
MessageSujet: effet de lumiere dans le coin de la map   effet de lumiere dans le coin de la map Icon_minitimeLun 25 Juin - 18:03

Ben voila des fois quand je joue a des rpg fait par d'autres personnes, sur certaines map il y a en haut a droite un effet de lumiere comme si la lumiere du soleil se diffusait sur la map. Je trouve ça jouli mais je n'arrive pas a le faire..... :'( Si quelqu'un pourrait m'expliquer
Revenir en haut Aller en bas
Sam-rpg
Administrateur
Administrateur
Sam-rpg


Nombre de messages : 2492
Age : 30
Localisation : Bayonne
Date d'inscription : 01/05/2007

effet de lumiere dans le coin de la map Empty
MessageSujet: Re: effet de lumiere dans le coin de la map   effet de lumiere dans le coin de la map Icon_minitimeLun 25 Juin - 19:57

Je n'aie pas trouvé de script ou autre chose pour faire un effet de lumière, mais si tu veux, j'aie un script ou faire des ombres (aux evenements et au héros), et s'il y a des ombres, il y a une source de lumière, donc on deveniera où se trouve la source de lumière. Enfin bon, tu véras mieux par toi-même :
effet de lumiere dans le coin de la map Ombre
(Si tu est intéréssé par ce script, dis-le moi).


Sinon j'aie un autre proposition à te proposer, mais il faut que tu possède Adobe photoshop. Donc est-ce que tu l'as ?
Revenir en haut Aller en bas
http://rmland.free.fr
Invité
Invité




effet de lumiere dans le coin de la map Empty
MessageSujet: Re: effet de lumiere dans le coin de la map   effet de lumiere dans le coin de la map Icon_minitimeLun 25 Juin - 20:01

non je n'ai pas photoshop ( honte a moi ^^ )
mais je veux bien ton script pour les ombres au fait voila une image tirée d'un projet ( pokemon koruldia ) ou l'effet de lumiere que je cherche y est

effet de lumiere dans le coin de la map 310
Revenir en haut Aller en bas
Sam-rpg
Administrateur
Administrateur
Sam-rpg


Nombre de messages : 2492
Age : 30
Localisation : Bayonne
Date d'inscription : 01/05/2007

effet de lumiere dans le coin de la map Empty
MessageSujet: Re: effet de lumiere dans le coin de la map   effet de lumiere dans le coin de la map Icon_minitimeLun 25 Juin - 20:13

Bon voici le scrpt. je vais quand même continuer mes rechers, il me semble que j'avais déjà vu quelque chose pour faire des effets de lumière. Ou peut-ête que la qeule solution est de faire avec photoshop.
Enfin bon, voici le script.



Installation : Allez dans l'éditeur de script ( F11 ) et Remplacez le script " Sprite_Character " par ceci:

Utilisation : lors, tout les places que vous voulez avoir votre lumière, vous placer un évènement qui a comme commentaire s.

Pour donner à un évènement une ombre, ajoutez un commentaire o.

Pour l'imiter la source, ajoutez s'y 2 autre commentaire avec chacun un chiffre qui définie un angle. C'est l'angle de la lumière projetée. Par exemple une lumière qui donne de la lumière seulement vers la droite et non vers la gauche.

Et un 4ème commentaire qui est écrit un chiffre entre 500 et 1000, qui son la longueur en pixel pour l'ombre.

Pour l'extérieur ne faites que placé un commentaire sun. Pour limiter le soleil, le degré c'est encore la même chose et pour le foncé ou pâle, ces entre 30 et 200, dont 200 ces très claire.

PS: Le héros a déjà son ombre.

Si vous mettez pas de degré ni de longueur, il va s'adapté à celle par défaut dans le script.

Code :



#==============================================================================
# ¦ Sprite_Character modifié (See Sprite_Shadow and Sprite_Sun)
#==============================================================================

class Sprite_Character < RPG::Sprite

attr_accessor :character

def initialize(viewport, character = nil)
super(viewport)
@character = character
#------Sun edit----------
@sunlist=[]
if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["sun"])
if (character.list[1]!=nil and character.list[1].code == 108)
@self_angle=character.list[1].parameters[0]
else
@self_angle=45
end
if (character.list[2]!=nil and character.list[2].code == 108)
@self_opacity=character.list[2].parameters[0]
else
@self_opacity=128
end
for i in $game_map.events.keys.sort
if ($game_map.events[i].is_a?(Game_Event) and $game_map.events[i].list!=nil and $game_map.events[i].list[0].code == 108 and $game_map.events[i].list[0].parameters == ["o"])
@sunlist[i+1] = Sprite_Sun.new(viewport, $game_map.events[i],@self_angle,@self_opacity)
end
end
@sunlist[1] = Sprite_Sun.new(viewport, $game_player,@self_angle,@self_opacity)
end
#------/Sun edit----------
#------Shadows edit---------
@ombrelist=[]
if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["s"])
if (character.list[1]!=nil and character.list[1].code == 108)
@anglemin=character.list[1].parameters[0]
end
if (character.list[2]!=nil and character.list[2].code == 108)
@anglemax=character.list[2].parameters[0]
end
if (character.list[3]!=nil and character.list[3].code == 108)
@distancemax=character.list[3].parameters[0]
end
for i in $game_map.events.keys.sort
if ($game_map.events[i].is_a?(Game_Event) and $game_map.events[i].list!=nil and $game_map.events[i].list[0].code == 108 and $game_map.events[i].list[0].parameters == ["o"])
@ombrelist[i+1] = Sprite_Shadow.new(viewport, $game_map.events[i],self,@anglemin,@anglemax,@distancemax)
end
end
@ombrelist[1] = Sprite_Shadow.new(viewport, $game_player,self,@anglemin,@anglemax,@distancemax)
end
#------/Shadows edit----------
update
end

def update
super
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
@cw = bitmap.width / 4
@ch = bitmap.height / 4
self.ox = @cw / 2
self.oy = @ch
end
end
self.visible = (not @character.transparent)
if @tile_id == 0
sx = @character.pattern * @cw
sy = (@character.direction - 2) / 2 * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
self.x = @character.screen_x
self.y = @character.screen_y
self.z = @character.screen_z(@ch)
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
#------Shadows edit----------
if @ombrelist!=[]
for i in 1..@ombrelist.size
if @ombrelist[i]!=nil
@ombrelist[i].update
end
end
end
#------/Shadows edit----------
#------Shadows edit----------
if @sunlist!=[]
for i in 1..@sunlist.size
if @sunlist[i]!=nil
@sunlist[i].update
end
end
end
#------/Shadows edit----------
end
end



Ensuite faites un nouveau script au dessus de Main et nommé le Sprite_Shadow et collez s'y ceci:


#==============================================================================
# ¦ Sprit_Ombre (Sprite_Ombre )
# Based on Genzai Kawakami's shadows, dynamisme by Rataime, extra features Boushy
#==============================================================================

class Sprite_Shadow < RPG::Sprite

attr_accessor :character # ??????

def initialize(viewport, character = nil,source = nil,anglemin=0,anglemax=0,distancemax=0)
super(viewport)
@anglemin=anglemin.to_f
@anglemax=anglemax.to_f
@distancemax=distancemax.to_f
@character = character
@source = source
update
end

def update
super

if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
@cw = bitmap.width / 4
@ch = bitmap.height / 4
self.ox = @cw / 2
self.oy = @ch
end
end
self.visible = (not @character.transparent)
if @tile_id == 0
sx = @character.pattern * @cw
@direct=@character.direction

if self.angle>90 or angle<-90

if @direct== 6
sy = ( 4- 2) / 2 * @ch
end
if @direct== 4
sy = ( 6- 2) / 2 * @ch
end
if @direct != 4 and @direct !=6
sy = (@character.direction - 2) / 2 * @ch
end
else
sy = (@character.direction - 2) / 2 * @ch
end
self.src_rect.set(sx, sy, @cw, @ch)
end
self.x = @character.screen_x
self.y = @character.screen_y-5
self.z = @character.screen_z(@ch)-1
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
@deltax=@source.x-self.x
@deltay= @source.y-self.y
self.angle = 57.3*Math.atan2(@deltax, @deltay )
@angle_trigo=self.angle+90
if @angle_trigo<0
@angle_trigo=360+@angle_trigo
end
self.color = Color.new(0, 0, 0)
@distance = ((@deltax ** 2) + (@deltay ** 2))
self.opacity = 1200000/(@distance+6000)
@distance = @distance ** 0.5
if @distancemax !=0 and @distance>=@distancemax
self.opacity=0
end
if @anglemin !=0 or @anglemax !=0
if (@angle_trigo<@anglemin or @angle_trigo>@anglemax) and @anglemin<@anglemax
self.opacity=0
end
if (@angle_trigo<@anglemin and @angle_trigo>@anglemax) and @anglemin>@anglemax
self.opacity=0
end
end
end
end

Et pour finir, fait un nouveau script au dessus de Main nommé Sprite_Sun et collez ça:

Code
#==============================================================================
# ¦ Sprite_Sun
# # Based on Sprite_Shadow, modified by Rataime
#==============================================================================

class Sprite_Sun < RPG::Sprite
attr_accessor :character

def initialize(viewport, character = nil, self_angle = 45,self_opacity = 128)
super(viewport)
@character = character
@self_angle=self_angle
@self_opacity=self_opacity
update
end

def update
super
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
@cw = bitmap.width / 4
@ch = bitmap.height / 4
self.ox = @cw / 2
self.oy = @ch
end
end

self.visible = (not @character.transparent)

if @tile_id == 0
sx = @character.pattern * @cw
@direct=@character.direction

if self.angle>90 or angle<-90

if @direct== 6
sy = ( 4- 2) / 2 * @ch#@character.direction
end
if @direct== 4
sy = ( 6- 2) / 2 * @ch
end
if @direct != 4 and @direct !=6
sy = (@character.direction - 2) / 2 * @ch
end
else
sy = (@character.direction - 2) / 2 * @ch
end
self.src_rect.set(sx, sy, @cw, @ch)
end
self.x = @character.screen_x
self.y = @character.screen_y-5
self.z = @character.screen_z(@ch)-1
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
self.angle = @self_angle-90
self.color = Color.new(0, 0, 0)
self.opacity = @self_opacity
end
end
Revenir en haut Aller en bas
http://rmland.free.fr
Invité
Invité




effet de lumiere dans le coin de la map Empty
MessageSujet: Re: effet de lumiere dans le coin de la map   effet de lumiere dans le coin de la map Icon_minitimeLun 25 Juin - 20:24

je ne vois pas ce que tu vut dire par un "commentaire" je doit le savoir mais ça ne me dit rien effet de lumiere dans le coin de la map 630864
Revenir en haut Aller en bas
Sam-rpg
Administrateur
Administrateur
Sam-rpg


Nombre de messages : 2492
Age : 30
Localisation : Bayonne
Date d'inscription : 01/05/2007

effet de lumiere dans le coin de la map Empty
MessageSujet: Re: effet de lumiere dans le coin de la map   effet de lumiere dans le coin de la map Icon_minitimeLun 25 Juin - 20:29

dans l'onglet 1, tu a la fonction "insérer un comentaire". Un screen pour ête plus précis :

effet de lumiere dans le coin de la map Comentairegt2
Revenir en haut Aller en bas
http://rmland.free.fr
Invité
Invité




effet de lumiere dans le coin de la map Empty
MessageSujet: Re: effet de lumiere dans le coin de la map   effet de lumiere dans le coin de la map Icon_minitimeLun 25 Juin - 20:31

ok merci beaucoup je m'y met desuite ^^
Revenir en haut Aller en bas
Contenu sponsorisé





effet de lumiere dans le coin de la map Empty
MessageSujet: Re: effet de lumiere dans le coin de la map   effet de lumiere dans le coin de la map Icon_minitime

Revenir en haut Aller en bas
 
effet de lumiere dans le coin de la map
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Coin coin tout le monde
» lumiere
» Effets dans les messages
» Bon petit rpg dans les regles de l'art
» Bouger dans 8 directions

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RM-Land : le forum :: Quartier des makers :: Centre d'écoute-
Sauter vers: