• Anmelden

1

Sonntag, 10. August 2008, 13:02

Battlergrafik im Statusfenster halbtransparent!

Hallo,

Ich habe vor kurzem hier im forum gefragt, wie man zur charaktergrafik zusätzlich die battlergrafik im statusfenster anzeigt!
lief alles wunderbar und sieht bisher alles so aus:
Window_Base Zeile 102

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
 #--------------------------------------------------------------
  # * Draw BattleGraphic
  # 	actor : actor
  # 	x 	: draw spot x-coordinate
  # 	y 	: draw spot y-coordinate
  #------------------------------------------------------------
  def draw_actor_battlegraphic(actor, x, y)
	 bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
	 cw = bitmap.width 
	 ch = bitmap.height 
	 src_rect = Rect.new(0, 0, cw, ch)
	 self.contents.blt(x , y , bitmap, src_rect)
  end

Window_Status Zeile 18

Quellcode

1
2
3
4
5
6
7
8
9
10
#--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
	self.contents.clear
	draw_actor_graphic(@actor, 40, 112)
	self.opacity = 150 
	draw_actor_battlegraphic(@actor, 265, 165)
	self.opacity = 255
	draw_actor_name(@actor, 4, 0)

...
so, hier wird also der battler in der mitte des fensters angezeigt!
und ich will ganz einfach, dass die battlergrafik halbtransparent ist, weil sie so wie sie jetzt ist sehr irritiert!

danke im voraus!
cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

2

Sonntag, 10. August 2008, 13:11

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#--------------------------------------------------------------
  # * Draw BattleGraphic
  # actor : actor
  # x : draw spot x-coordinate
  # y : draw spot y-coordinate
# op : opacity
  #------------------------------------------------------------
  def draw_actor_battlegraphic(actor, x, y, op)
 bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
 cw = bitmap.width 
 ch = bitmap.height 
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y , bitmap, src_rect,op)
  end


Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
#--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
self.contents.clear
draw_actor_graphic(@actor, 40, 112)
self.opacity = 150 
draw_actor_battlegraphic(@actor, 265, 165,100)
self.opacity = 255
draw_actor_name(@actor, 4, 0)


Transparenz bietet die blt Funktion zum Glück von Haus aus. Man muss ihr also nur einen weiteren Parameter übergeben. Anstatt der 100 im draw_actor_battlegraphic im refresh kann auch eine andere Zahl zwischen 0 und 255 stehen wobei 0 für komplett durchsichtig und 255 für gar nicht durchsichtig steht (vielleicht auch umgekehrt.. einfach mal ausprobieren)

3

Sonntag, 10. August 2008, 13:37

hey danke funktioniert wie ich's mir vorgestellt hab!
bei der opacity ist wie du sagst 0 komplett durchsichtig, bei mir wärs aber egal weilo genau die hälfte, also 178 nehme!

cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

Social Bookmarks