15.11.2010, 20:13
(
Последний раз редактировалось zSuYaNw; 16.06.2016 в 21:25.
)
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
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 decimal | Nъmero em hexadecimal |
1024 | 400 |
2016 | 7E0 |
Nъmero em decimal | Nъmero em hexadecimal |
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | A |
11 | B |
12 | C |
13 | D |
14 | E |
15 | F |
Agora como jб sabemos como funciona nъmeros em hexadecimal, vamos agora representar cores com hexadecimal.
Cor | Em Hexadecimal | Explicaзгo |
00FF00 | Verde claro | Essa cor contйm a quantidade 0 de VERMELHO, 255(ou FF em Hex) de VERDE e 0 de AZUL |
FF0000 | Vermelho Forte | Essa cor tem 255(ou FF em hexadecimal) de vermelho, 0 de vede e 0% de Azul |
0000FF | Azul Forte | Agora 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(playerid, 0x00FF00, "[Informaзгo]: Vocк estб registrado!");
PHP код:
SendClientMessage(playerid, 65280, "[Informaзгo]: Vocк estб registrado!");
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;
}
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: |
Veja um exemplo:
Aqui temos uma cor verde, eu ainda nгo defini nenhuma transparкncia para ela:
Код:
0x00FF00
Код:
0x00FF0055
Crйditos:
- > zSuYaNw