Jump to content
Rpg²S Forum
  • 0

Effetto riflesso


SuperRoby
 Share

Question

Salve...

sto facendo una mappa nel quale il pg si trova in una distesa di ghiaccio, pero vorrei fare tramite evento (se possibile) un effetto riflesso che quando il pg si muove nel ghiaccio sotto di lui appare il riflesso.

 

come posso fare per creare l'effetto desiderato?

LINK RAPIDI

 

Pacco risorse VX ----> Topic discussione ----> Download

 

New: Mega Pacco Risorse XP ----> Topic discussione ----> Download

 

New:= Novità degna di nota :)

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Allora lo script è questo:

 

#==============================================================================# ¦ Sprite_Reflection# Based on Sprite_Mirror, Modified By: JmsPlDnl, rewritten entirely by Rataime#==============================================================================CATERPILLAR_COMPATIBLE = true class Game_Party  attr_reader :charactersend class Sprite_Reflection < RPG::Sprite  attr_accessor :character  def initialize(viewport=nil, character=nil,self_angle = 180)   super(viewport)   @character = character   @self_angle=self_angle   self.opacity=0   @reflected=false   @former=false   @moving=false   if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)==7	 @reflected=true	 @former=true   end   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	 if @character.direction== 6		   sy = ( 4- 2) / 2 * @ch	 end	 if @character.direction== 4		   sy = ( 6- 2) / 2 * @ch	end	if @character.direction != 4 and @character.direction != 6		  sy = (@character.direction - 2) / 2 * @ch	end   end    self.x = @character.screen_x   self.y = @character.screen_y-5   @moving=!(@character.real_x%128==0 and @character.real_y%128==0)   @d=@character.direction   @rect=[sx, sy, @cw, @ch]   if !(@moving)	 if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)==7 	   @reflected=true	   @former=true	 else	   @reflected=false  	   @former=false	 end    else	   case @d 	   when 2	   if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)==7		 @reflected=true		 if @former==false		   @offset = (@character.screen_y%32)*@ch/32		   @rect=[sx, sy, @cw, @offset]		   self.y=@character.screen_y-5		 end	   else		 @reflected=false  	   end 	   when 4	   if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)!=7		 @offset = ((@character.screen_x-@cw/2)%32)*@cw/32		 @rect=[sx, sy, @offset, @ch]		 self.x=@character.screen_x	   else		 @reflected=true		 if @former==false		   @offset = ((@character.screen_x-@cw/2)%32)*@cw/32		   @rect=[sx+@offset, sy, @cw-@offset, @ch]		   self.x=@character.screen_x-@offset		 end	   end 	   when 6	   if $game_map.terrain_tag(@character.real_x/128+1,@character.real_y/128+1)!=7		 @offset = ((@character.screen_x-@cw/2)%32)*@cw/32		 @rect=[sx+@offset, sy, @cw-@offset, @ch]		 self.x=@character.screen_x-@offset	   else		 @reflected=true		 if @former==false		   @offset = ((@character.screen_x-@cw/2)%32)*@cw/32		   @rect=[sx, sy, @offset, @ch]		   self.x=@character.screen_x		 end	   end 	   when 8	   if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)==7		 @reflected=true		 if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)!=7		   @offset = (@character.screen_y%32)*@ch/32		   @rect=[sx, sy, @cw, @offset]		   self.y=@character.screen_y-5		 end	   else		 @reflected=false  	   end 	   end    end   if @reflected	 self.opacity=128   else	@rect=[sx, sy, @cw, @ch]	self.opacity=0   end    if $game_map.terrain_tag((@character.real_x+64)/128,@character.real_y/128+2)!=7	 if $game_map.terrain_tag((@character.real_x+64)/128,@character.real_y/128+2)!=7	   @rect[1]= @rect[1]+@ch/2	   @rect[3]= @rect[3]/2	   self.y = self.y - @ch/2	 else	   @reflected=false	 end   end    self.src_rect.set(@rect[0],@rect[1],@rect[2],@rect[3])    @character.is_a?(Game_Player) ? self.z = 9 : self.z = 5   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 endend #===================================================# ? CLASS Sprite_Character edit#=================================================== class Sprite_Character < RPG::Sprite  alias reflect_initialize initialize   def initialize(viewport, character = nil)	@character = character	@reflection = []	super(viewport)	if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["r"])	 @reflection.push(Sprite_Reflection.new(viewport,@character))	end	if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["hero_r"])	 @reflection.push(Sprite_Reflection.new(viewport,$game_player))#===================================================# ? Compatibility with fukuyama's caterpillar script#===================================================if CATERPILLAR_COMPATIBLE and $game_party.characters!=nil   for member in $game_party.characters	@reflection.push(Sprite_Reflection.new(viewport,member))  end end#===================================================# ? End of the compatibility#===================================================	end	reflect_initialize(viewport, @character)  end   alias reflect_update update   def update   reflect_update   if @reflection!=nil	 for reflect in @reflection	   reflect.update	 end   end  end end

 

Nell' evento desiderato inserisci un commento con:

"hero_r" per inserire il riflesso dell'eroe.

"r" per inserire il riflesso dell'evento.

 

Naturalmente tutto senza virgolette.

 

Poi bisogna andare nel database, nella gestione tilesets e sul tile dove vuoi che appaia il riflesso devi mettere alla funzione "terreno" il valore di 7.

 

L'effetto avuto dovrebbe essere più o meno questo:

http://img525.imageshack.us/img525/9933/reflet.jpg

"Oh perché dobbiamo essere così, noi? – ci domandiamo talvolta allo specchio - con questa faccia, con questo corpo? – alziamo una mano, nell'incoscienza; e il gesto ci resta sospeso. Ci pare strano che l'abbiamo fatto noi. Ci vediamo vivere. […] In certi momenti di silenzio interiore, in cui l'anima nostra si spoglia di tutte le funzioni abituali, e gli occhi nostri diventano più acuti e più penetranti, noi vediamo noi stessi nella vita, e in se stessa la vita, quasi in una modalità arida, inquietante; ci sentiamo assaltare da una strana impressione, come se, in un baleno, ci si chiarisse una realtà diversa da quella che normalmente percepiamo, una realtà vivente oltre la vista umana, fuori delle forme dell'umana ragione." [L.P.]

 

http://img43.imageshack.us/img43/4231/vgmiud3f.png

 

 

http://rpg2s.net/gif/SCContest1Oct.gif http://www.rpg2s.net/img/fablecontest3rd.png http://rpg2s.net/gif/SCContest1Oct.gif

 

RPG by forum

 

 

 

 

 

 

 

 

 

 

http://img59.imageshack.us/img59/6/av2w.png

Nome: Erech (In elfico "lancia solitaria", da er (ereb) = "solitario" e ech = "lancia")

 

Età: 19

 

Razza: Umani

 

Descrizione: Erech è un ragazzo alto e slanciato, dalla corporatura tonica e scattante. Ha capelli lunghi e violacei come gli occhi che però sono spesso coperti in parte da un elegante cappello nero. Veste con uno stile classico, una camicetta bianca sotto una giacca nera e un fiocco al collo ornato con un'immancabile piuma azzurra. Gli piace leggere e scrivere e ama tradurre testi in lingue antiche.

 

Carattere: Il ragazzo ha un carattere chiuso e introverso, è di poche parole e preferisce i fatti alle parole. Non si relaziona spesso con i coetanei o se lo fa significa che si fida cecamente della persona che ha davanti; è diffidente e tende a non raccontare fatti del suo passato, belli o brutti che siano.

 

 

Link to comment
Share on other sites

  • 0

Sinceramente non mi sono mai posto il problema, ma probabilmente una soluzione a eventi ci sarebbe. No conosco il vx bene ma credo che i comandi degli eventi non siano poi così diversi.

Secondo me il metodo potrebbe essere quello di settare un evento con processo parallelo e al suo interno una variabile

"posizione eroe x" e "posizione eroe Y" e poi dargli il valore delle posizioni del nostro eroe. Poi setti un altra variabile come ad esmpio Posizione Riflesso X o Y a seconda dei casi e gli dai il valore della variabile posizione eroe. Dopodichè setti di nuovo la variabile Posizione riflesso riducendola di o aumentandola di 32 unita( mi pare che un tile sia 32 pixel) e metti che se il chara dell'eroe è girato in giù mostra figura <figura dell'eroe un pò sbiadita verso giù> con coordinate variabili in cui ( se volessiomo far apparire il riflesso un tile sotto l'eroe) le coordinate sono Y= Coodinate Eroe Y e X= Posizione riflesso Y provo a metterla sotto schema per vedere se riesco a essere più chiaro

 

< Variabile pos. eroe x= coordinata eroe x

< variabile pos. eroe y = coordinata eroe y

< variabile pos. riflesso= Variabile pos eroe y

< variabile pos. riflesso+ 32

<SE

chara eroe rivolto verso giù

mostra immagine " eroe riflesso giù" coordinate variabili Y= Pos riflesso. X = pos eroeX

< SE

(uguale soltanto che cambi l' immagine e la posizione del chara.

 

Comunque te l'ho detto non sono sicuro che funzioni perciò non ti affidare del tutto

Edited by bionicboy
"Potrete giudicare quanto è intelligente un uomo dalle sue risposte.Potrete giudicare quanto è saggio dallle sue domande."Nahgib Mahfuz Quando un politico è buono non ha abbastanza potere, quando ha abbastanza potere non è buono,quando è buono e ha abbastanza potere, lo ammazzano! (Questa l'ho inventata io! Spero...)http://img362.imageshack.us/img362/933/gigacciolabannerbc7.gif Fan assetato di gioco completo
Link to comment
Share on other sites

  • 0
Bene, comunque se non riesci posso provare a fare l'evento e postarti lo screen.
"Potrete giudicare quanto è intelligente un uomo dalle sue risposte.Potrete giudicare quanto è saggio dallle sue domande."Nahgib Mahfuz Quando un politico è buono non ha abbastanza potere, quando ha abbastanza potere non è buono,quando è buono e ha abbastanza potere, lo ammazzano! (Questa l'ho inventata io! Spero...)http://img362.imageshack.us/img362/933/gigacciolabannerbc7.gif Fan assetato di gioco completo
Link to comment
Share on other sites

  • 0
Salve...

sto facendo una mappa nel quale il pg si trova in una distesa di ghiaccio, pero vorrei fare tramite evento (se possibile) un effetto riflesso che quando il pg si muove nel ghiaccio sotto di lui appare il riflesso.

 

come posso fare per creare l'effetto desiderato?

 

Ciao, se non hai ancora combinato, eccoti il link ad un forum inglese con script (e demo) per lo "sprite reflection" nel VX...funziona benissimo!

 

http://rmrk.net/index.php/topic,31962.0.html

Link to comment
Share on other sites

  • 0
Ehm.. Hai fatto bene a postare lo script però sai com'è, cerchiamo di non spammare.

"Oh perché dobbiamo essere così, noi? – ci domandiamo talvolta allo specchio - con questa faccia, con questo corpo? – alziamo una mano, nell'incoscienza; e il gesto ci resta sospeso. Ci pare strano che l'abbiamo fatto noi. Ci vediamo vivere. […] In certi momenti di silenzio interiore, in cui l'anima nostra si spoglia di tutte le funzioni abituali, e gli occhi nostri diventano più acuti e più penetranti, noi vediamo noi stessi nella vita, e in se stessa la vita, quasi in una modalità arida, inquietante; ci sentiamo assaltare da una strana impressione, come se, in un baleno, ci si chiarisse una realtà diversa da quella che normalmente percepiamo, una realtà vivente oltre la vista umana, fuori delle forme dell'umana ragione." [L.P.]

 

http://img43.imageshack.us/img43/4231/vgmiud3f.png

 

 

http://rpg2s.net/gif/SCContest1Oct.gif http://www.rpg2s.net/img/fablecontest3rd.png http://rpg2s.net/gif/SCContest1Oct.gif

 

RPG by forum

 

 

 

 

 

 

 

 

 

 

http://img59.imageshack.us/img59/6/av2w.png

Nome: Erech (In elfico "lancia solitaria", da er (ereb) = "solitario" e ech = "lancia")

 

Età: 19

 

Razza: Umani

 

Descrizione: Erech è un ragazzo alto e slanciato, dalla corporatura tonica e scattante. Ha capelli lunghi e violacei come gli occhi che però sono spesso coperti in parte da un elegante cappello nero. Veste con uno stile classico, una camicetta bianca sotto una giacca nera e un fiocco al collo ornato con un'immancabile piuma azzurra. Gli piace leggere e scrivere e ama tradurre testi in lingue antiche.

 

Carattere: Il ragazzo ha un carattere chiuso e introverso, è di poche parole e preferisce i fatti alle parole. Non si relaziona spesso con i coetanei o se lo fa significa che si fida cecamente della persona che ha davanti; è diffidente e tende a non raccontare fatti del suo passato, belli o brutti che siano.

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...