GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


Duvida draw string

2 participantes

Ir para baixo

Duvida draw string Empty Duvida draw string

Mensagem por eubruno Ter 15 Nov 2011, 13:24

bom eu comecei a usar o game maker ha algum tempo e me deparei com um problema.

e muitos casos de barra de vida dialogos ou muitas outras coisas se usam o draw para fazer, eu geralmente usava sprites para tudo pq acho o draw muito complicado, então resolvi aprender draw pesquisei em muitos tópicos que usavam esse tipo de evento inclusive um que ensinava a fazer formas geométricas muito bom por sinal agradeço o autor que fez esse tópico não me lembro o nome do usuário mas valew ai.

aprendi um pouco mais sobre draw mas me deparei com um problema, o string.

fui na ajuda do game maker mas lá só dizia as funções que usavam string, e não, a lógica do string.

então como funciona a lógica do string?

agradeço desde já.


Última edição por eubruno em Ter 15 Nov 2011, 22:59, editado 1 vez(es)
eubruno
eubruno

Data de inscrição : 06/11/2011
Reputação : 1
Número de Mensagens : 27
Prêmios : Duvida draw string Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Duvida draw string Empty Re: Duvida draw string

Mensagem por Igor KinGamer Ter 15 Nov 2011, 15:30

Vou fazer um tutorial, espero que sirva pra você e qualquer outro que não entenda bem como funcionam as strings.


Definição:
Uma string é uma sequência de caracteres. Para representar uma string, você deve escrever entre aspas (simples ou duplas), como em "String" ou 'string' (eu prefiro duplas, pois em C/C++, duplas são usadas para strings).


1 - Tipos de variável: Existem dois tipos de variável no GM: real e string. Para armazenar uma string em uma variável, não há nada de especial, nada de diferente em comparação com armazenar valores reais (numéricos):
Código:
nome = "José";
idade = 15;
cidade = "SP";
Agora, as variáveis nome e cidade possuem, respectivamente, os valores "José" e "SP" (strings), e a variável idade possui o valor 15 (real).


2 - Comparação: Strings podem ser comparadas, assim como valores reais:

2.1 - Igualdade:
Código:
// Comparação de reais
if (idade >= 18)
show_message("Você já é maior de idade. Já pode ser preso!");
else
show_message("Você é menor de idade. Ainda está livre de votar!");
// Comparação de strings
if (nome == "João")
show_message("E aí, João!);
else
show_message("E aí... Ei, você não é o João!!!");
Você pode ver que estou comparando a string armazenada na variável nome com a string "João", assim como se comparam valores reais. No caso, como a variável nome possui a string "José", será mostrada a segunda mensagem.

2.2 - Diferença:
A comparação com >, <, >=, <= (maior, menor, maior ou igual, menor ou igual) não envolve o tamanho da string, mas a ordem na tebela ASCII:

Duvida draw string 217px-ASCII_full.svg
Caracteres da tabela ASCII (do 33 ao 126)

Letras maiúsculas são diferentes de minúsculas.
Portanto: 'A' < 'B' < 'C' < ... < 'Z' < 'a' < 'b' < 'c' < ... (isso inclui os caracteres que não são letras, conforme a ordem na imagem).
Código:
if (nome >= "a")
show_message("Você escreveu seu nome com letra minúscula.");
else
show_message("Você escreveu seu nome com letra maiúscula.");
Se o nome começar com letra minúscula, será maior ou igual a "a" (ex.: "arnaldo") e a primeira mensagem será mostrada. Se começar com letra maiúscula (como é o caso, "José"), será menor que "a" e a segunda mensagem será mostrada.


3 - Pular uma linha: Dentro de uma string, você pode pular uma linha usando o caractere '#' (jogo da velha):
Código:
show_message("Você já é maior de idade.#Já pode ser preso!");
Isso mostrará na tela:
Código:
Você já é maior de idade.
Já pode ser preso!
Igualmente, funciona com a função draw_text() (desenhará em duas linhas).
Para que apareça o próprio caractere '#', e não pule uma linha, você deve usar "\#" (barra invertida + jogo da velha). Ex.: "Concurso \#001".


4 - Concatenação: Palavrinha estranha, não? Strings podem ser somadas (concatenadas):
Código:
sobrenome = "Manolo";
nome_completo = nome+" "+sobrenome;
show_message("Seu nome é: "+nome_completo+".#Sua cidade é: "+cidade+".");
Será mostrada na tela a mensagem:
Código:
Seu nome é: José Manolo.
Sua cidade é: SP.
Atente para os espaços. Se eu não tivesse colocado o " " entre nome e sobrenome (nome+" "+sobrenome), nome_completo ficaria com o valor "JoséManolo", e não "José Manolo".


5 - De real para string: Para usar um número como se fosse string, você tem que transformá-lo em string. A função string() faz isso.
Código:
show_message("Sua idade é: "+string(idade)+".");
Será mostrado na tela:
Código:
Sua idade é: 15.
Isso é útil para desenhar valores na tela, como a vida ou pontos.


6 - Funções: Funções podem tanto receber strings como argumentos quanto retornar strings.

6.1 - Receber como argumento: Acima, já usei algumas vezes a função show_message(), que recebe uma string como argumento e desenha-a na tela: show_message(string). string pode ser uma string ("Seu nome é: "), uma variável (nome_completo), ou a junção de várias dessas.

6.2 - Retornar: Um exemplo de função que retorna uma string é a get_string(). Ela pede uma string para o usuário/jogador, e a retorna. Então, você pode armazená-la numa string.
Código:
seu_nome = get_string("Digite seu nome: ", "Anônimo");


É isso. Agora, está pronto de verdade. Se não entendeu alguma coisa, é só perguntar.
Igor KinGamer
Igor KinGamer

Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios : Duvida draw string Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos