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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


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