[Tutorial] [TuT]Criando Cores Manualmente.
#1

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
Reply
#2

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

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 )
Reply
#4

nunca tinha pensado em isso mt bom
Reply
#5

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
Reply
#6

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
Reply
#7

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

Tutorial porreiro !!
Reply
#9

valew aeeeee
Reply
#10

gostava mais da sua outra foto ^^ Garfield
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)