by: Fernandinho_FM - Fórum
Criando um Cenário (Stage) Básico
Olá. Primeiramente explicarei partes basicas do Stage na ordem em que aprendi porque provavelmente será mais facil para o seu entendimento... Recomendo que tenha o Mugen 1.0/plus e o programa Fighter Factory em mãos. Então vamos a Parte da configuração... bom primeramente saiba que sua imagem precisa ser maior que 320x240, essa é a menor resolução do mugen caso use uma imagem menor que essa o mugen deixará parte do cenário na cor negra. ;+-------------------------------------+ ;+----------------SFF-----------------+ ;+-------------------------------------+ Abra o Fighter Factory e vá em Editor de Paleta, abra a imagem na parte da direita e clique em Otimizar (icone azul) clique na primeira cor e logo apos na penultima segurando Shift. Clique em "Transferir seleção" e depois em "Trasnferir cores", clique em adicionar selecione a imagem .bmp e clique em "Inserir paleta na imagem". Mas FM, porque eu fiz tudo isso? Ok. Você extraiu a paleta da imagem para uma paleta 'imaginária' e adicionou as cores dessa paleta na sua imagem bmp para criar um pcx onde as cores ficam armazenadas. Mas FM, eu contei que tem 256 quadrados então porque eu só coloquei 255? o Mugen tem o limite de 256 cores, logo, uma cor é a cor de fundo, ou seja a de transparência (a ultima cor da paleta) caso a adicione, ela irá ficar com a cor negra, e fará seu stage ficar com um certo erro. Mas meu stage perdeu qualidade, e agora? Recomendo um conversos de cores antes de utilizar a extração de cores da paleta... tente baixar o "XnView". Continuando... Feche o editor de paletas, vá em Sprite>Novo. agora você irá criar o SFF do Cenário. clique no icone "Adicionar", Selecione seu pcx. Eu geralmente uso o Grupo 0, mas recomendo que utilizem o grupo 1 eu uso Y = 0 e X = 1/2 da distância exata em orizontal. ou seja, eu seleciono a opção "Centro, centro" e depois mudo o Valor de Y para 0. Seu SFF está basicamente pronto precisa fazer agora um .def. ;+-------------------------------------+ ;+----------------DEF-----------------+ ;+-------------------------------------+ [Info] name = 'NomeDoCenario' Aqui vc coloca o nome do cenário que o Mugen vai mostrar no select screen. OBS: Desde a versao 0627 o nome DEVE estar entre aspas. [Camera] startx = 0 starty = 0 A posição inicial da câmera, que normalmente você deixará em 0 e 0. boundleft = -220 boundright = 220 Aqui determinamos o tamanho do cenário, informando quantos pixeis a câmera está habilitada a se mover para a esquerda (left) e direita (right). BASICAMENTE, você dividirá o valor em pixels do Background em horizontal e colocará os valores nessas linhas. boundhigh = -60 boundlow = 0 Aqui você determina a altura do seu stage na diferença do padrão. Por exemplo caso seu stage tenha o tamanho padrão vertical exato (240) o valor de boundhigh será 0, caso ele tenha por exempo 400 pixels o valor será 240 - 500 = -260. verticalfollow = .2 Essa é a linha que determina o quanto de distância a câmera vai se mover caso X player pule, caso seja 0 a câmera não acompanhará o player, caso seja 1 a camera acompanhará ele e ignorará a posição/visão do Y player, Normalmente deixamos em .2 mas isso varia do tamanho do stage. tension = 50 Essa linha tem a função de denominar a mínima distância que um char deve estar da borda do cenário para que a câmera comece a se mover. Normalmente numeros pequenos fazem seu char sair de sua visão de câmera e a jogabilidade fica péssima, caso seja um numero grande a tela irá tremer e você terá dor de cabeças ao dormir... Por isso recomendo que não mexer nesta linha. [PlayerInfo] p1startx = -70 p1starty = 0 p1startz = 0 p1facing = 1 p2startx = 70 p2starty = 0 p2startz = 0 p2facing = -1 Posições iniciais dos Personagens, X é a posição Horisontal, Y é a posição vertical e Z é a profundidade. valor x representa a posição do personagem, tanto quando pode ser maior ou menor isso fará os personagens começarem mais proximos ou mais longe um do outro. O valor y geralmente é esse, mas existem situações especiais... Z? ignore, ele não funciona, esta ali apenas para não dar nenhum erro. leftbound = -1000 rightbound = 1000 topbound = 0 botbound = 0 essas linhas definem a distância em que os personagens podem se mover, geralmente é posto a metade do valor da horizontal em ambos, medidos por pixels. topbound e botbound não são mudados, não tem função, mas precisam estar ali. [Scaling] topz = 0 botz = 50 topscale = 1 botscale = 1.2 Nesta linha você não precisa alterar nada, é padrão, quase sempre... mais pra frente explicarei porque. [Bound] screenleft = 15 screenright = 15 Nessa você não precisa mecher, numeros maiores deixam você longe e menores você some. [StageInfo] zoffset = 200 É a definição de em que altura o chão está. recomenda-se utilizar valores entre 200 e 240. autoturn = 1 Esta é a linha que define o "Turn" automatico do char, ou seja, seu char se vira SEMPRE para frente do p2, caso não queira fazer a jogabilidade ficar bem ruim, não coloque 0. resetBG = 1 essa linha reseta as animações de um stage por round. Suponhamos que esteja fazendo um stage de dia que fica a noite, e no outro round ficará rapidamente de dia, isso concerteza ficaria estranho, em casos assim o valor será 0. [Shadow] color = 32,32,32 Os valores são dados em Vermelho, Verde e Azul, ou seja, RGB (Red/Green/Blue) se o valor for 0 ficará mais claro, caso seja mais escuro será 255 em ambos valores, caso omitido, será 92 logo color = 92,92,92 (padrão). yscale = -.1 reflect = 0 A primeira linha tem a função de criar a sombra, caso o valor seja diferente de 1 ela aparecerá, o valor dado quanto maior definirá o tamanho da sombra. A segunda linha como o proprio nome diz é o reflexo do seu char no chão, muito utilizado em cenários de piso liso. [Music] bgmusic = bgvolume = 0 Aqui define o audio do cenário, linha 1 caminho, linha 2 volume. Formatos: MP3, MOD, MIDI e CD. Caso dê o caminho de um arquivo invalido ele não tocará. recomendo criar a linha music com o som na pasta sounds ex: bgmusic = sounds/som.mp3. [BGdef] spr = stages\cenário.sff debugbg = 0 A primeira linha define o caminho do arquivo SFF que vimos no inicio do tutorial. o Debug como todos provavelmente conhecem serve para reconhecer falhas no cenário. [BG cenário] type = normal spriteno = 0,0 start = 0, 0 delta = 0.9, 0.9 mask = 0 trans = none layerno = 0 velocity = 0,0 tile = 0,0 type; possui 3 variações: normal - quando existe apenas 1 imagem para aquele Background (Fundo). anim - quando existe mais de 1 imagem para aquele Background (Fundo). parllax - efeito que dá um visual 3D no cenário. spriteno; informa o grupo e o numero da imagem quando necessário. em anim se dá apenas o primeiro numero, ou seja o numero do grupo. start; Informa a posição inicial da imagem, provavelmente sempre inicia no centro da tela. (ou o centro entre os personagens). Quando utilizado fundo de tela geralmente usamos a metade do tamanho da imagem do X no Fighter Factory e start em 0. Y é costume por 0 ou colocar igual o boundhigh (obs: apenas valores inteiros podem ser colocados) delta; Informa o quanto os elementos do cenário vão se mexer quando a câmera executar um movimento de um lado para o outro. O padrão é 1,1 significando que os objetos irão se mexer 1 pixel a cada pixel que a câmera se mover... Geralmente utilizamos Backgrounds de fundo em alguns stages para dar noção de profundidade, valores maiores que 1 se movimentam mais rapido que o cenário, valores menores se movem mais lentamente. mask; aplica se o BG tem transparência ou não, se você utiliza algo com transparência deixe em 1, caso contrário utilize 0, isso economizará memória utilizavel no momento. trans; Configuram a transparência de uma imagem em 4 opções: none - quando não existe transparência, seria a mesma coisa que não por nada. add - faz a imagem ficar clara e transparente. add1 - faz a imagem ficar pouco clara e transparente. sub - faz a imagem ficar mais escura. layerno; Indica a posição de visão em que a camada fica entre as demais imagens do cenário, caso o valor seja 0... fará com que a layer fique atrás do personagem, caso o valor seja 1 significa que será na frente do personagem e caso o valor seja 2 significa que ficará na frente de tudo. Em BG você pode ter 3 camadas: layerno = 0 ;atrás do char layerno = 1 ;frente do char layerno = 2 ;na frente de tudo. caso faça mais de 1 BG com o mesmo valor de layer, os citados primeiros serão considerados prioridade naquela layer. title; informa que a imagem vai ser exibida lado a lado (1) ou uma única vez, nas posições x,y. caso essa opção seja igualada a 0 (zero) existirá uma opção cujo o nome é 'tilesespacing = X', que informa o espaço que a imagem de te outra quando colocada lado a lado. ;+-------------------------------------+ ;+----------------AIR-----------------+ ;+-------------------------------------+ Como todos já devem saber AIR é o arquivo de animações de um char, eu apenas dei o exemplo para que vocês possam entender um pouco mais sobre ele em questão de texto, mas recomendo criar a animação no AIR vazio no Fighter Factory, abrir o editos em texto e copiar o codigo e coloca-lo no DEF do stage abaixo do BG da animação. "type = anim" Esta linha denomina que o elemento do cenário será uma animação que precisa ser denominada como um "State do AIR" [Begin Action X] 2,0, 0,0, 7 2,1, 0,0, 7 2,2, 0,0, 7 Exatamente como o AIR de um char ele é denominado exatamente como o mesmo: a,b, c,d, e, f,g X - animação que que foi configurada no BG. a - grupo da imagem. b - número da imagem. c - posição X. d - posição Y. e - tempo em ticks. Opcionais: f - pode ser V, H ou VH - V vira a imagem Verticalmente, H vira Horizontalmente e VH gira em ambos. g - pode ser A,A1 ou S - ADD, ADD1 ou SUB como no parâmetro trans acima. Obs: o Efeito Alpha é aplicado também na linha g como ASXXXDXXX. (XXX são valores entre 001 e 256!) ;+-------------------------------------+ ;+-----------------ETC-----------------+ ;+-------------------------------------+ Aqui serão creditadas as explicações extras. "type = parallax" A linha denimina que usaremos o efeito parallax, incrivel não? Existem 2 maneiras de utilizar o efeito: Primeira; Utilizando TILE width = x1, x2 x1 = tamanho do topo da imagem x2 = tamanho do fundo da imagem Usado quando a imagem repetitiva, ou seja, ela aparece varias vezes, como o chão ou o teto, caso utilize isso no chão faça com que o x2 seja o dobro do 1x, caso seja o teto faça o inverso. Segunda; Não utilizando TILE xscale = x1, x2 x1 = tamanho do topo da imagem x2 = tamanho do fundo da imagem Usado quando a imagem unica, ou seja, que NÃO apareça varias vezes. caso utilize isso no chão faça com que o x2 seja o dobro do 1x, caso seja o teto faça o inverso. yscalestart = Essa linha define a escola da largura da imagem, 100 quer dizer 100% de escala que é o tamanho original. Quanto maior for este valor, MENOR será o tamanho da imagem. E quanto MENOR for o valor MAIOR...são inversamente proporcionais. ;+--------------------------------------------------------------------+ ;+-------TENHO CERTEZA QUE AGORA VOCÊ PODE------------+ ;+----------FAZER UM STAGE BASICO SEM MEDO--------------+ ;+--------------------------------------------------------------------+
|