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 sitePortailFAQRechercherS'enregistrerConnexion

Partagez | 
 

 effet de lumiere dans le coin de la map

Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: effet de lumiere dans le coin de la map   Lun 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
avatar

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

MessageSujet: Re: effet de lumiere dans le coin de la map   Lun 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 :

(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 ?

_________________
Webmaster et Administrateur d' RM-Land





Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rmland.free.fr
Invité
Invité



MessageSujet: Re: effet de lumiere dans le coin de la map   Lun 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

Revenir en haut Aller en bas
Sam-rpg
Administrateur
Administrateur
avatar

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

MessageSujet: Re: effet de lumiere dans le coin de la map   Lun 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

_________________
Webmaster et Administrateur d' RM-Land





Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rmland.free.fr
Invité
Invité



MessageSujet: Re: effet de lumiere dans le coin de la map   Lun 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
Revenir en haut Aller en bas
Sam-rpg
Administrateur
Administrateur
avatar

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

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

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


_________________
Webmaster et Administrateur d' RM-Land





Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rmland.free.fr
Invité
Invité



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

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




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

Revenir en haut Aller en bas
 
effet de lumiere dans le coin de la map
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Dans un coin discret...
» Dans un coin sombre
» Un coin sombre dans les Cachots
» Effet de flamme dans des yeux [Photoshop CS5]
» Une choppe et ça ira mieux.

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: