SA-MP Forums Archive
[Tutorial] [TuT]Criando Cores Manualmente. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] [TuT]Criando Cores Manualmente. (/showthread.php?tid=190558)



[TuT]Criando Cores Manualmente. - zSuYaNw - 15.11.2010

Criando cores manualmente
Introduзгo:
Hoje irei ensinar como trabalhar com cores no SA-MP, ele trabalha da forma RGB que significa Red Green e Blue que й o famoso padrгo "vermelho" da web aonde as demais cores sгo extraнdas dessas 3 cores. Irei mostrar em uma imagem como funciona esse nosso sistema de cores:


(fonte wiki)


Pela imagem vocк pode notar que, de Vermelho, Verde e Azul foram extraнdas outras cores como Ciano, Amarelo e Magenta, essas 3 cores vгo ser extraнdas outras 3 cores e assim vai. Como acabamos de entender a lуgica disso tudo, vamos agora entender como funciona em cуdigos! Na programaзгo й usado nъmeros para representar as cores, sendo nъmeros em base 10(decimal), em base 16(hexadecimal) ou atй binбrio mas sempre seguindo o mesmo padrгo de Vermelho, Verde e Azul. Para poder escrever uma cor devemos definir a quantidade que ela terб de tal cor, exemplo:


Код:
00 FF 00
Neste exemplo, estamos dizendo que a nossa cor terб nada de vermelho, FF (ou 255 em decimal) e ela terб nada de vermelho.

Como vocк pode notar, na programaзгo usamos frequentemente nъmeros em base 16 (hexadecimal) para facilitar a leitura do cуdigo, mas vocк sabe oque й nъmeros hexadecimais? Nъmeros hexadecimais sгo em base 16, foram feitos para facilitar nossa vida quando iremos escrever uma quantidade enorme de nъmeros, pelo fato de eles serem simples e eficazes.

Nъmero em decimalNъmero em hexadecimal
1024400
20167E0
Como pode notar, teve uma pequena diferenзa entre o decimal e o hexadecimal. nota-se tambйm que foram adicionado letras a esses nъmeros... vamos ao significado de cada letra:

Nъmero em decimalNъmero em hexadecimal
00
11
22
33
44
55
66
77
88
99
10A
11B
12C
13D
14E
15F
*Nota: 0 й o mнnimo e FF й o mбximo de uma determinada cor.

Agora como jб sabemos como funciona nъmeros em hexadecimal, vamos agora representar cores com hexadecimal.

CorEm HexadecimalExplicaзгo
00FF00Verde claroEssa cor contйm a quantidade 0 de VERMELHO, 255(ou FF em Hex) de VERDE e 0 de AZUL
FF0000Vermelho ForteEssa cor tem 255(ou FF em hexadecimal) de vermelho, 0 de vede e 0% de Azul
0000FFAzul ForteAgora essa cor tem 0 de Vermelho, 0 de Verde e 255 de Azul(ou FF em hexadecimal)

Nas cores acima, vocк pode notar oque eu expliquei atй agora que no padrгo RGB sгo 3 setores aonde temos que especificar a quantidade de uma cor que irб gerar a nossas cor. Na cor Azul forte por exemplo, especifiquei que ela terб NADA de cor vermelha, terб NADA de cor VERDE e apenas tudo cor Azul.

Em algumas linguagens como PAWN/C/C++ utilizamos um determinado prefixo para o compilador reconhecer que estamos trabalhando com hexadecimal, que й o 0x. Veja um exemplo:

PHP код:
SendClientMessage(playerid0x00FF00"[Informaзгo]: Vocк estб registrado!"); 
Podemos tambйm usar nossa cor em decimal!
PHP код:
SendClientMessage(playerid65280"[Informaзгo]: Vocк estб registrado!"); 
Como vocк pode notar, nгo usamos o prefixo 0x quando em base 10(decimal) pois o compilador jб reconhece que estamos falando de nъmeros em base decimal.


Um pequeno script exemplificando oque aprendemos hoje sobre cores:
pawn Код:
#include <a_samp>

#define COR_TESTE 0x61DAE0FF


public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/Teste", cmdtext, true, 10) == 0)
    {
        SendClientMessage(playerid, COR_TESTE,"Tutorial do zSuYaNw, Testando Cores. 2016");
        return 1;
    }
    return 0;
}
Transparencia:
Em textdraws pode-se definir uma certa intensidade da cor, aonde podemos atй deixar um textdraw totalmente claro ou totalmente forte. Veja um exemplo:

Cor branca em baixa intensidade:Cor branca com alta intensidade:
Este fenфmeno de transparкncia pode ser feito adicionando um ultimo parвmetro em nossa cor, assim ficando 4 parвmetros: RR GG BB TT:
Veja um exemplo:

Aqui temos uma cor verde, eu ainda nгo defini nenhuma transparкncia para ela:
Код:
0x00FF00
Irei deixar ela com mйdia intensidade, igual da primeira foto em nosso exemplo acima:
Код:
0x00FF0055
Existe vбrias intensidades que podemos usar, 00 sendo a mais baixa intensidade tornando a cor totalmente transparente e FF aonde ela fica em alta tensidade. Somente lembrando que essas intensidade de cores sу funcionam em textdraws, ao usar em um sendclientmessage por exemplo, a estrutura da cor muda totalmente. Clique aqui para saber mais sobre intensidade de cores.


Crйditos:
- > zSuYaNw


Re: [TuT]Criando Cores Manualmente. - Kasura - 15.11.2010

Ficou bom garfield mas
Quem й loco pra fazer uma cor manualmente se tem geradores kkkk


Re: [TuT]Criando Cores Manualmente. - Falcon. - 15.11.2010

Bom... meus parabens pelo trabalho que deve ter dado para fazer esse tuto...

Kasura: Sempre tem uns loucos ae..Nunca duvide
Eu prefiro usar o IPE..й mais rбpido..( e para preguiзosos )


Re: [TuT]Criando Cores Manualmente. - SlashPT - 15.11.2010

nunca tinha pensado em isso mt bom


Re: [TuT]Criando Cores Manualmente. - zSuYaNw - 15.11.2010

Quote:
Originally Posted by Kasura
Посмотреть сообщение
Ficou bom garfield mas
Quem й loco pra fazer uma cor manualmente se tem geradores kkkk
eu fiz no intuito de a pessoa entender como funciona e tambйm quem nгo sabe aprender comofaz.

Quote:
Originally Posted by DarK TeaM PT
Посмотреть сообщение
nunca tinha pensado em isso mt bom
valeww aeee


Re: [TuT]Criando Cores Manualmente. - SlashPT - 15.11.2010

ya encinoume uma coisa calculadora windows da geito para fazer as contas dos trabalhos de casa por mim e tambem para isso ;3, realmente me ensinaste isso nunca tinha pensado... XD


Respuesta: [TuT]Criando Cores Manualmente. - BiieL - 15.11.2010

Tb nunca pensei q essas cores fossem por RGB
mesmo usando RGB em cleo


Re: [TuT]Criando Cores Manualmente. - HfV.pT - 15.11.2010

Tutorial porreiro !!


Re: [TuT]Criando Cores Manualmente. - zSuYaNw - 15.11.2010

valew aeeeee


Re: [TuT]Criando Cores Manualmente. - Kasura - 16.11.2010

gostava mais da sua outra foto ^^ Garfield