Já viram qual a arte dessa semana?Exposição dos Artistas #8
10 Respostas   916 Visualizações
0 Membros e 1 Visitante estão vendo este tópico.
Bom, a title eu achei bacana. Acho que não tenho nada a acrescentar.Agora, a batalha, eu não achei que... combinaram, os elementos da tela. Tipo,A imagem dos personagens clarinha, a HUD e o menu, principalmente as bordas,achei "apagadas" e não estão tão boas quanto a barrinha que tá lá em cima, saka.A de cima tá boa pra caramba, numa qualidade bem legal.Mas bem, sou muito chato, ainda mais com design. Gostei do fundo, e da ideia das barrinhas circundarem a face também, aliásesse script tem nome? Fiquei curioso pra saber como funciona.No mais, parabéns, Lyca. E continue progredindo.
É, a title não percebi muita diferença, mas continua legal sim, nada espetacular mas ficou legal.Já a batalha realmente tem alguma coisa aí que não está combinando, tipo os elementos e o estilo dela são bons, muito bons, mas a combinação das imagens não flui como algo natural, acho que elas não criam um conjunto, ficaram meio diferentes umas coisas das outras.As faces tão bem apagadas e não combinam com a interface das barras de hp, já a barra de comandos está com uma qualidade ruim, pixelizada e não combina nada com os ícones em PA que representam os comandos, já a caixa de texto lá em cima tem um design bem legal, mas não combina com os demais itens, além de estar com uma cor que acaba apagando um pouco os detalhes legais que ela tem, e pra finalizar o fundo é bem legal mas não combina com o restante também, ele é meio 3d e está com proporções muito maiores se comparando os chars, tanto é que uma tábua da ponte é muito maior que o char.Então, acho que o layout tá ótimo (inclusive se puder dizer qual script eu adoraria), mas falta deixar todas as imagens com a mesma cara pra sair uma combinação legal.
#==============================================================================# �–� Window_BattleStatus#==============================================================================class Window_BattleStatus < Window_Selectable # Skin File name BTSKIN_00 = "Btskin_main" # Main Skin BTSKIN_01 = "Btskin_hp" # HP(Gauge) BTSKIN_02 = "Btskin_mp" # MP(Gauge) BTSKIN_04 = "Btskin_n00" # HP(Numbers) BTSKIN_05 = "Btskin_n00" # MP(Numbers) BTSKIN_03 = "Btskin_state" # State # Skin coordinates[ x, y] BTSKIN_B_XY = [-179, -10] # �Ÿ��–座�™ BTSKIN_00XY = [-38, -11] #Main Skin BTSKIN_01XY = [-38, -11] # HP(gauge) BTSKIN_02XY = [-38, 22] # MP(gauge) BTSKIN_04XY = [ 48, 6] # HP(numbers) BTSKIN_05XY = [ 48, 27] # MP(numbers) BTSKIN_03XY = [ 5, 10] # �‚��ƒ†�ƒ��ƒˆ�‚��‚��ƒ� BTSKIN_06XY = [ 30, -18] # Status Battle # Various Settings BTSKIN_01GS = 9 # HP Gauge Speed (Low values are fast) BTSKIN_02GS = 9 # MP Gauge Speed(Low values are fast) BTSKIN_04SS = 9 # HP Rolling Numbers Speed(Low values are fast) BTSKIN_05SS = 5 # MP Rolling Numbers Speed(Low values are fast) BTSKIN_04NS = 4 # HP Maximum Digits BTSKIN_05NS = 4 # MP Maximum Digits BTSKIN_06WH = [24,24] # [State Width, Height] BTSKIN_06SC = 3 # State Icon Scroll Speed # (Values close to 1 are fast) # �ƒ��ƒˆ�ƒ��‚��ƒ†�ƒ��‚��‚�座�™ def set_xy @x = [] @y = [] for i in 0...$game_party.members.size x = (i * 145) + 40 y = 3 @x[i] = x + 176#+ STRRGSS2::ST_SX @y[i] = y + 16#+ STRRGSS2::ST_SY end end # 設�š�‡�‰€�“�“まで @@f = false #-------------------------------------------------------------------------- # �˜… �‚��‚��ƒ��‚��‚� #-------------------------------------------------------------------------- alias initialize_str33 initialize def initialize(f = false) initialize_str33 unless @@f @f = @@f = true else @f = false end set_xy @s_sprite = [] @s_party = [] @s_lv = [] @opacity = 255 self.contents.dispose self.create_contents self.back_opacity = 0 self.opacity = 0 #@column_max = $game_party.actors.size @viewport = Viewport.new(0, 480-128, 640, 128) @hpgw = (Cache.system(BTSKIN_01)).width @mpgw = (Cache.system(BTSKIN_02)).width @viewport.z = self.z - 1 @state_opacity = [] @item_max = $game_party.members.size return unless @f for i in 0...@item_max draw_item(i) end update end #-------------------------------------------------------------------------- # �—� �ƒ��ƒ•�ƒ��ƒƒ�‚��ƒ�潰�— #-------------------------------------------------------------------------- def refresh # :-) end #-------------------------------------------------------------------------- # �—� �‚��ƒ†�ƒ��ƒˆの描�”� #-------------------------------------------------------------------------- def draw_actor_state(actor) icon = Cache.system("Iconset") w = actor.states.size * 24 w = 24 if w < 1 bitmap = Bitmap.new(w, BTSKIN_06WH[1]) count = 0 for state in actor.states icon_index = state.icon_index x = 24 * count rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24) bitmap.blt(x, 0, icon, rect) count += 1 end return bitmap end #-------------------------------------------------------------------------- # �—� 名�‰��œ�ˆ� #-------------------------------------------------------------------------- def name_bitmap(actor) bitmap = Bitmap.new(100, 24) bitmap.font.size = 20 bitmap.draw_text_f(-4, 40, 100, 24, actor.name) return bitmap end #-------------------------------------------------------------------------- # �—� �‚��ƒ†�ƒ��ƒˆ�•��–�— #-------------------------------------------------------------------------- def state_size(actor) return actor.states.size end #-------------------------------------------------------------------------- # �—� �‚��‚��ƒ†�ƒ��œ�ˆ� #-------------------------------------------------------------------------- def draw_item(index) return unless @f actor = $game_party.members[index] # @s_sprite[index] = [] s = @s_sprite[index] # �ƒ��‚��ƒ��‚��‚��ƒ� s[0] = Sprite.new(@viewport) s[0].bitmap = Cache.system(BTSKIN_00) s[0].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_00XY[0] s[0].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_00XY[1] s[0].z = 0 # HP s[1] = Sprite.new(@viewport) s[1].bitmap = Cache.system(BTSKIN_01) s[1].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0] s[1].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1] s[1].z = 4 w = s[1].bitmap.width h = s[1].bitmap.height / 2 s[1].src_rect.set(0, 0, w, h) s[2] = Sprite.new(@viewport) s[2].bitmap = Cache.system(BTSKIN_01) s[2].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0] s[2].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1] s[2].z = 3 s[2].src_rect.set(0, h, w, h) s[11] = 96 s[6] = Sprite_strNumbers.new(@viewport, BTSKIN_04, BTSKIN_04NS) s[6].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_04XY[0] s[6].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_04XY[1] s[6].z = 5 s[13] = actor.hp s[6].update(s[13]) # MP s[3] = Sprite.new(@viewport) s[3].bitmap = Cache.system(BTSKIN_02) s[3].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0] s[3].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1] s[3].z = 4 w = s[3].bitmap.width h = s[3].bitmap.height / 2 s[3].src_rect.set(0, 0, w, h) s[4] = Sprite.new(@viewport) s[4].bitmap = Cache.system(BTSKIN_02) s[4].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0] s[4].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1] s[4].z = 3 s[4].src_rect.set(0, h, w, h) s[12] = 56 s[7] = Sprite_strNumbers.new(@viewport, BTSKIN_05, BTSKIN_05NS) s[7].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_05XY[0] s[7].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_05XY[1] s[7].z = 5 s[14] = actor.mp s[7].update(s[14]) # �‚��ƒ†�ƒ��ƒˆ s[5] = Viewport.new(0, 0, BTSKIN_06WH[0], BTSKIN_06WH[1]) s[5].rect.x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_06XY[0] + @viewport.rect.x s[5].rect.y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_06XY[1] + @viewport.rect.y s[5].z = @viewport.z + 1 s[8] = Sprite.new(@viewport) s[8].bitmap = Cache.system(BTSKIN_03) s[8].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_03XY[0] s[8].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_03XY[1] s[8].z = -2 s[9] = Plane.new(s[5]) s[9].bitmap = draw_actor_state(actor) s[10] = state_size(actor) # 現�œ�の�‚��ƒ†�ƒ��‚��‚�に s[11] = ((@hpgw * (actor.hp / (actor.maxhp * 1.0))) + 1).truncate if actor.maxmp != 0 s[12] = ((@mpgw * (actor.mp / (actor.maxmp * 1.0))) + 1).truncate else s[12] = 0 end s[15] = Sprite.new(@viewport) s[15].bitmap = name_bitmap(actor) s[15].x = @x[index] + 4 s[15].y = @y[index] + 2 s[15].z = 255 s[1].src_rect.width = s[11] s[2].src_rect.width = s[11] s[3].src_rect.width = s[12] s[4].src_rect.width = s[12] s[6].update(s[13]) s[7].update(s[14]) # 不可�–に for l in [0,1,2,3,4,8,9,15] s[l].opacity = 0 end for l in [6,7] s[l].o = 0 end # �ƒ…報�˜�†�(actor, x, y, size = 151) @s_lv[index] = actor.level @s_party[index] = [actor.name, actor.hp, actor.maxhp, actor.mp, actor.maxmp, actor.states] # x = index * 61 - 20 y = 90 s[16] = Sprite.new s[16].bitmap = Cache.system("HUD_" + actor.name) s[16].x = @x[index] + 10 - 224 s[16].y = @y[index] + -4 + 339 s[16].z = 0 end #-------------------------------------------------------------------------- # �—� �‚��ƒ–�‚��‚��‚��ƒˆ�–‹�”� #-------------------------------------------------------------------------- def dispose super return unless @f for i in 0...@s_sprite.size for l in [0,1,2,3,4,8,9,15,16] @s_sprite[i][l].bitmap.dispose @s_sprite[i][l].dispose end for l in [5,6,7] @s_sprite[i][l].dispose end end @@f = false end #-------------------------------------------------------------------------- # �—� �ƒ•�ƒ��ƒ��ƒ��›��–� #-------------------------------------------------------------------------- def update super return unless @f for i in 0...@s_sprite.size s = @s_sprite[i] a = $game_party.members[i] m = @s_party[i] @state_opacity[i] = 0 if @state_opacity[i] == nil # 不�€��˜Ž度�‚��ƒƒ�ƒ— @state_opacity[i] += 8 if @opacity < 272 @opacity += 8 for l in [0,1,2,3,4,15] s[l].opacity = @opacity end for l in [6,7] s[l].o = @opacity end end # 名�‰��›��–� if a.name != m[0] s[15].bitmap.dispose s[15].bitmap = name_bitmap(a) m[0] = a.name end # HP/MP�›��–� update_hp(s,a,m) update_mp(s,a,m) # �‚��ƒ†�ƒ��ƒˆ�›��–� if s[10] > BTSKIN_06WH[0] / 24 and (Graphics.frame_count % BTSKIN_06SC) == 0 s[9].ox += 1 end if s[10] > 0 and @state_opacity[i] < 272 for l in [8,9] s[l].opacity = @state_opacity[i] end end if a.states != m[5] m[5] = a.states s[9].ox = 0 s[9].bitmap.dispose s[9].bitmap = draw_actor_state($game_party.members[i]) s[10] = state_size($game_party.members[i]) @state_opacity[i] = 0 for l in [8,9] s[l].opacity = @state_opacity[i] end end end end #-------------------------------------------------------------------------- # �—� �ƒ•�ƒ��ƒ��ƒ��›��–� (HP) #-------------------------------------------------------------------------- def update_hp(s,a,m) # HPく�‚‹く�‚‹ if a.hp != s[13] c = 0; c = 1 if a.hp < a.maxhp / 4; c = 2 if a.hp == 0 if s[13] > a.hp s[13] -= BTSKIN_04SS s[13] = a.hp if s[13] < a.hp else s[13] += BTSKIN_04SS s[13] = a.hp if s[13] > a.hp end s[6].update(s[13], c) end # HP if a.hp != m[1] s[11] = ((@hpgw * (a.hp / (a.maxhp * 1.0))) + 1).truncate m[1] = a.hp end sr = s[1].src_rect if sr.width != s[11] sp = BTSKIN_01GS sr.width = (s[11] + (s[1].src_rect.width * (sp - 1))) / sp sr.width = 2 if sr.width <= 1 and a.hp > 0 end sr = s[2].src_rect sp = 2 if sr.width != s[1].src_rect.width and (Graphics.frame_count % sp) == 0 if sr.width < s[1].src_rect.width sr.width += 1 else sr.width -= 1 end end sr.width = 2 if sr.width <= 1 and a.hp > 0 end #-------------------------------------------------------------------------- # �—� �ƒ•�ƒ��ƒ��ƒ��›��–� (MP) #-------------------------------------------------------------------------- def update_mp(s,a,m) # MPく�‚‹く�‚‹ if a.mp != s[14] c = 0; c = 1 if a.mp < a.maxmp / 4 if s[14] > a.mp s[14] -= BTSKIN_05SS s[14] = a.mp if s[14] < a.mp else s[14] += BTSKIN_05SS s[14] = a.mp if s[14] > a.mp end s[7].update(s[14], c) end # MP if a.mp != m[3] if a.maxmp != 0 s[12] = ((@mpgw * (a.mp / (a.maxmp * 1.0))) + 1).truncate else s[12] = 0 end m[3] = a.mp end sr = s[3].src_rect if sr.width != s[12] sp = BTSKIN_02GS sr.width = (s[12] + (s[3].src_rect.width * (sp - 1))) / sp sr.width = 2 if sr.width <= 1 and a.mp > 0 end sr = s[4].src_rect sp = 2 if sr.width != s[3].src_rect.width and (Graphics.frame_count % sp) == 0 if sr.width < s[3].src_rect.width sr.width += 1 else sr.width -= 1 end end sr.width = 2 if sr.width <= 1 and a.mp > 0 endend#==============================================================================# �–� Sprite_strNumber#==============================================================================class Sprite_strNumber < Sprite #-------------------------------------------------------------------------- # �—� �‚��ƒ–�‚��‚��‚��ƒˆ�ˆ��œŸ�Œ– #-------------------------------------------------------------------------- def initialize(v, gra, n = 0) @n = n super(v) self.bitmap = Cache.system(gra) @w = self.bitmap.width/10 @h = self.bitmap.height/3 self.src_rect = Rect.new(@n*@w, 0, @w, @h) end #-------------------------------------------------------------------------- # �—� �ƒ•�ƒ��ƒ��ƒ��›��–� #-------------------------------------------------------------------------- def update(n = -1, c = 0) @n = n self.src_rect.x = @n*@w self.src_rect.y = c*@h endend#==============================================================================# �–� Sprite_strNumbers#==============================================================================class Sprite_strNumbers attr_accessor :x attr_accessor :y attr_accessor :z attr_accessor :o #-------------------------------------------------------------------------- # �—� �‚��ƒ–�‚��‚��‚��ƒˆ�ˆ��œŸ�Œ– #-------------------------------------------------------------------------- def initialize(v, gra, n = 4, s = 0) @n = n # 桁�•� @x = 0 @y = 0 @z = 0 @o = 255 @sprite = [] # �—�–“設�š b = Cache.system(gra) @s = b.width / 10 - s # �‚��ƒ—�ƒ��‚��ƒˆ�œ�ˆ� for i in 0...n @sprite[i] = Sprite_strNumber.new(v, gra) end update end #-------------------------------------------------------------------------- # �—� �ƒ•�ƒ��ƒ��ƒ��›��–� #-------------------------------------------------------------------------- def update(v = 0, c = 0) val = [] # �•��€��‚’�…��ˆ—に格納 for i in 0...@n if (10 ** (i)) == 0 val[i] = v % 10 else val[i] = v / (10 ** (i)) % 10 end end val = val.reverse # �…ˆ頭の0�‚’�–�‚Š�™�く for i in 0...@n if val[i] == 0 and @n != i + 1 val[i] = -1 else break end end # �‚��ƒ—�ƒ��‚��ƒˆ�›��–� for i in 0...@n @sprite[i].update(val[i], c) @sprite[i].x = @x + (i * @s) @sprite[i].y = @y @sprite[i].z = @z @sprite[i].opacity = @o end end #-------------------------------------------------------------------------- # �—� 不�€��˜Ž度の適�”� #-------------------------------------------------------------------------- def o=(val) @o = val for i in 0...@n @sprite[i].opacity = @o end end #-------------------------------------------------------------------------- # �—� �‚��ƒ–�‚��‚��‚��ƒˆ�–‹�”� #-------------------------------------------------------------------------- def dispose for i in 0...@sprite.size @sprite[i].bitmap.dispose @sprite[i].dispose end endend#==============================================================================# �–� Bitmap#==============================================================================# This script controls the shadow behind actor names for *STR33g1_Battle Status.class Bitmap #-------------------------------------------------------------------------- # �—� �–‡�—縁�–�‚Š描�”� #-------------------------------------------------------------------------- def draw_text_f(x, y, width, height, str, align = 0, color = Color.new(64,32,128)) shadow = self.font.shadow b_color = self.font.color.dup font.shadow = true font.color = color draw_text(x + 1, y, width, height, str, align) draw_text(x - 1, y, width, height, str, align) draw_text(x, y + 1, width, height, str, align) draw_text(x, y - 1, width, height, str, align) font.color = b_color draw_text(x, y, width, height, str, align) font.shadow = shadow end def draw_text_f_rect(r, str, align = 0, color = Color.new(64,32,128)) draw_text_f(r.x, r.y, r.width, r.height, str, align = 0, color) endend