Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Separador de Icon Set
+6
jiraya
Valentine
Singelinho
renan-vieira
matheus180
RD12
10 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Scripts
Página 1 de 2
Página 1 de 2 • 1, 2
Separador de Icon Set
Icon Splitter
Separador de Icon Set
Este script serve para separar iconsets, de rmvx, rmvx ace ou seja o que for. Ele recorta todos os ícones e salva, desde que estes estejam organizados na em um template.
Pode demorar um pouco, dependendo do tamanho do iconset, mantenha a window ativa.
É possível configurar o tamanho dos ícones. Funcionando em todos templates, sendo possível recortar até mesmo Characters.
O script impossibilita prosseguir o jogo, então após terminar de usá-lo, desative-o, e agradeça pois nos incentiva a fazer outros scripts.
IMAGEM
SCRIPT
Para usar, configure o nome do iconset, localizado na pasta icons, no module.
- Código:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#| RD12 | Icon Splitter
# Separa todos os icones de um Icon Set
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#Caso não for mais usar delete o script, ou desative-o comentando.
#=begin
module Icon_Split
Width = 24 #Altura de cada ícone
Height = 24 #Largura de cada ícone
DIR = "Graphics/ICON_SPLIT/" #Diretório que salvará os ícones
IconSet = "nome"#Nome do icon set na pasta icons
end
class Scene_Title
def main
$game_system = Game_System.new
$data_system = load_data("Data/System.rxdata")
@bitmap = RPG::Cache.icon(Icon_Split::IconSet)
@width = Icon_Split::Width
@height = Icon_Split::Height
@mx = @bitmap.width/@width
@my = @bitmap.height/@height
@x,@y = 0,0
@status = IconSplit_Status.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
end
def update
return if @ended
if @y >= @my
n = @my*@mx
@status.ended
@status.refresh(@mx, @my, @y, @x)
@ended = true
return
end
if @x < @mx
@x += 1
icon = Bitmap.new(@width,@height)
icon.blt(0, 0, @bitmap, Rect.new(@width*@x, @height*@y, @width, @height))
icon.make_png("icon #{@x}-#{@y}", Icon_Split::DIR)
else
@y += 1
@x = 0
end
@status.refresh(@mx, @my, @y, @x)
end
end
#WINDOW
class IconSplit_Status < Window_Base
def initialize
super(410/2, 250/2, 300, 200)
self.windowskin = RPG::Cache.windowskin("001-Blue01")
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Segoe UI"
self.contents.font.size = 20
end
def refresh(mx, my, y, x)
self.contents.clear
self.contents.draw_text(0, 0, 300-64, 32, "Separador de Icon Set",1)
self.contents.draw_text(0, 20, 300-64, 32, "- RD12",1)
self.contents.draw_text(0, 52, 200, 32, "#{(y*mx)+x} ícones recortados de #{mx*my}")
if @ended
self.contents.draw_text(0, 82, 300-64, 32, "Pronto! Verifique na pasta os ícons.")
self.contents.draw_text(0, 112, 300-64, 32, "Desative o script caso não for usar novamente.")
end
end
def ended
@ended = true
end
end
#=end
#==============================================================================
# 本脚本出自www.66rpg.com,转载请注明。
#==============================================================================
=begin
==============================================================================
Bitmap to PNG By 轮回者
==============================================================================
对Bitmap对象直接使用
bitmap_obj.make_png(name[, path])
name:保存文件名
path:保存路径
感谢66、夏娜、金圭子的提醒和帮助!
==============================================================================
=end
module Zlib
class Png_File < GzipWriter
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def make_png(bitmap_Fx,mode)
@mode = mode
@bitmap_Fx = bitmap_Fx
self.write(make_header)
self.write(make_ihdr)
self.write(make_idat)
self.write(make_iend)
end
#--------------------------------------------------------------------------
# ● PNG文件头数据块
#--------------------------------------------------------------------------
def make_header
return [0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a].pack("C*")
end
#--------------------------------------------------------------------------
# ● PNG文件情报头数据块(IHDR)
#--------------------------------------------------------------------------
def make_ihdr
ih_size = [13].pack("N")
ih_sign = "IHDR"
ih_width = [@bitmap_Fx.width].pack("N")
ih_height = [@bitmap_Fx.height].pack("N")
ih_bit_depth = [8].pack("C")
ih_color_type = [6].pack("C")
ih_compression_method = [0].pack("C")
ih_filter_method = [0].pack("C")
ih_interlace_method = [0].pack("C")
string = ih_sign + ih_width + ih_height + ih_bit_depth + ih_color_type +
ih_compression_method + ih_filter_method + ih_interlace_method
ih_crc = [Zlib.crc32(string)].pack("N")
return ih_size + string + ih_crc
end
#--------------------------------------------------------------------------
# ● 生成图像数据(IDAT)
#--------------------------------------------------------------------------
def make_idat
header = "\x49\x44\x41\x54"
case @mode # 请54~
when 1
data = make_bitmap_data#1
else
data = make_bitmap_data
end
data = Zlib::Deflate.deflate(data, 8)
crc = [Zlib.crc32(header + data)].pack("N")
size = [data.length].pack("N")
return size + header + data + crc
end
#--------------------------------------------------------------------------
# ● 从Bitmap对象中生成图像数据 mode 1(请54~)
#--------------------------------------------------------------------------
def make_bitmap_data1
w = @bitmap_Fx.width
h = @bitmap_Fx.height
data = []
for y in 0...h
data.push(0)
for x in 0...w
color = @bitmap_Fx.get_pixel(x, y)
red = color.red
green = color.green
blue = color.blue
alpha = color.alpha
data.push(red)
data.push(green)
data.push(blue)
data.push(alpha)
end
end
return data.pack("C*")
end
#--------------------------------------------------------------------------
# ● 从Bitmap对象中生成图像数据 mode 0
#--------------------------------------------------------------------------
def make_bitmap_data
gz = Zlib::GzipWriter.open('hoge.gz')
t_Fx = 0
w = @bitmap_Fx.width
h = @bitmap_Fx.height
data = []
for y in 0...h
data.push(0)
for x in 0...w
t_Fx += 1
if t_Fx % 10000 == 0
Graphics.update
end
if t_Fx % 100000 == 0
s = data.pack("C*")
gz.write(s)
data.clear
#GC.start
end
color = @bitmap_Fx.get_pixel(x, y)
red = color.red
green = color.green
blue = color.blue
alpha = color.alpha
data.push(red)
data.push(green)
data.push(blue)
data.push(alpha)
end
end
s = data.pack("C*")
gz.write(s)
gz.close
data.clear
gz = Zlib::GzipReader.open('hoge.gz')
data = gz.read
gz.close
File.delete('hoge.gz')
return data
end
#--------------------------------------------------------------------------
# ● PNG文件尾数据块(IEND)
#--------------------------------------------------------------------------
def make_iend
ie_size = [0].pack("N")
ie_sign = "IEND"
ie_crc = [Zlib.crc32(ie_sign)].pack("N")
return ie_size + ie_sign + ie_crc
end
end
end
#==============================================================================
# ■ Bitmap
#------------------------------------------------------------------------------
# 关联到Bitmap。
#==============================================================================
class Bitmap
#--------------------------------------------------------------------------
# ● 关联
#--------------------------------------------------------------------------
def make_png(name="like", path="",mode=0)
make_dir(path) if path != ""
Zlib::Png_File.open("temp.gz") {|gz|
gz.make_png(self,mode)
}
Zlib::GzipReader.open("temp.gz") {|gz|
$read = gz.read
}
f = File.open(path + name + ".png","wb")
f.write($read)
f.close
File.delete('temp.gz')
end
#--------------------------------------------------------------------------
# ● 生成保存路径
#--------------------------------------------------------------------------
def make_dir(path)
dir = path.split("/")
for i in 0...dir.size
unless dir == "."
add_dir = dir[0..i].join("/")
begin
Dir.mkdir(add_dir)
rescue
end
end
end
end
end
#==============================================================================
# 本脚本出自www.66rpg.com,转载请注明。
#==============================================================================
Fiz para meu parça Singelinho.
Créditos: RD12 pelo sistema e 轮回者 por ter criado o script "Bitmap To PNG"
Última edição por RD12 em Sáb Jan 11, 2014 5:54 pm, editado 6 vez(es)
Re: Separador de Icon Set
Ótimo sistema, não esperava menos de você, vou utiliza-lo!
+1 créd!
+1 créd!
_________________
matheus180- Desenvolvedor
- Mensagens : 749
Créditos : 174
Re: Separador de Icon Set
tu é pica viado,
+1 crédito "viadumm"
+1 crédito "viadumm"
_________________
Secti MaInE - Mapa de Informações Estratégicas do Rio de Janeiro.
http://maine.rj.gov.br/
http://maine.rj.gov.br/
eMuseu - Museu Nacional do Esporte.
https://www.emuseudoesporte.com.br/
Memórias - Memórias de Oswaldo Cruz(App Hibrido Ionic).
Link do APP na playstore
Projetos citados acima foram produzidos com equipes no qual eu participei como programador Frontend e UI Design/UX Design.
Skype: Renan.vieiraa
Facebook: /renandesign
E-mail: renanvieira.webdesign@gmail.com
ou entre em contato via MP.
Singelinho- Ocasional
- Medalhas :
Mensagens : 228
Créditos : 93
Re: Separador de Icon Set
Isso é muito bom, tem muitos ícones do vx que eu gosto de usar no rmxp e ter que ficar montando eles manualmente é chato, poupou meu trabalho
+ 1 crédito
+ 1 crédito
Re: Separador de Icon Set
Poderia por para ir separando automático sem deixar janela aberta... Mas bem da hora tá, não é crítica ruim!
_________________
Singelinho- Ocasional
- Medalhas :
Mensagens : 228
Créditos : 93
Re: Separador de Icon Set
Vlw RD
_________________
[roll="Ataque nível 1"]
Se escrevam no meu Canal no Youtube: Eberton Munhoz
Se escrevam no meu Canal no Youtube: Eberton Munhoz
Re: Separador de Icon Set
ficou muito bom, isso poupa muito tempo. Praticamente recortei + de 1000 itens em alguns minutos
- Uma duvida:
- Na linha 50 onde tem
- Código:
icon = Bitmap.new(24,24)
icon.blt(0, 0, @bitmap, Rect.new(24*@x, 24*@y, 24, 24))
tipo- Código:
@width = Icon_Split::Width
@height = Icon_Split::Height
icon = Bitmap.new(@width,@height)
icon.blt(0, 0, @bitmap, Rect.new(@width*@x, @height*@y, @width, @height))
_________________
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [Pedido] Separador de Sprites
» Ajuda (Separador do iconos)
» [VXA-OS] VIP Icon
» RGSS3_Popup Icon Ver.1.2
» Buff icon na screen time
» Ajuda (Separador do iconos)
» [VXA-OS] VIP Icon
» RGSS3_Popup Icon Ver.1.2
» Buff icon na screen time
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Scripts
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|