[Dúvida]Alguém pode me explicar um código?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Dúvida]Alguém pode me explicar um código?

Mensagem por Denbs em Dom 03 Fev 2013, 23:06

Iae pessoal,
novamente estou aqui perguntando como funciona um código. Como na ultima vez eu vi em um tuto mais por não estar bem explicado não consegui entender direito.O código se trata de como fazer aparecerem letra por letra na tela, então eis o código:

CREATE
Código:
str1="um texto qualquer"
str2="";
texto=0

STEP
Código:
draw_set_color(c_black)
draw_set_font(font0)
texto+=0.25
str2=string_copy(str1,0,texto)
DRAW
Código:
draw_set_color(c_black)
draw_set_font(font0)
draw_sprite(sprite0,0,x,y)
draw_text(x,y,str2)

Minhas dúvida de interpretação é maior em entender o que significa apenas o aspas("") em str2="", mas se alguém puder esclarecer tudo ficarei grato,
Obrigado.

Denbs

Número de Mensagens : 204
Idade : 19
Data de inscrição : 19/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por PedroX em Dom 03 Fev 2013, 23:56

str2="" significa que não tem nada, é uma string nula. Ela é definida como nula porque no evento Draw há um código para desenhá-la e caso ela não tivesse sido declarada, ia gerar um erro (desenhar uma variável que não existe). Note que a cada 4 steps um novo caractere é adicionado.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por vinians em Dom 03 Fev 2013, 23:59

Primeiro, o codigo:
Código:

draw_set_color(c_black)
draw_set_font(font0)
No Evento STEP não é permitido e é desnecessário neste caso a não ser que use surfaces.
Quando a sua dúvida, str2="" inicializa a variavel str2 com uma string vazia, isso é para o GM saber que se trata de uma var string j[á que o default é numerica.
Flws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por Denbs em Seg 04 Fev 2013, 00:26

Só mais 2 perguntas:
- quando no create é colocado "texto=0", é apenas para declaras a variável?
-string_copy faz exatamente oq?

desculpa pelo incômodo,
Obrigado.

Denbs

Número de Mensagens : 204
Idade : 19
Data de inscrição : 19/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por PedroX em Seg 04 Fev 2013, 00:32

- quando no create é colocado "texto=0", é apenas para declaras a variável?
Sim, isso é necessário por vários motivos. Um deles é que geralmente usamos operações, como +=. Se a variável não fosse declarada, o GM não saberia o seu valor e assim não poderia somar a um valor desconhecido. Assim um erro seria inevitável.

-string_copy faz exatamente oq?
Copia parte de uma string, exemplo:

a = 'abcdef123456'

string_copy(a, 1, 5) copia os 5 primeiros caracteres ('abcde'). Você deve colocar numa variável se não for usar no mesmo instante.

b = string_copy(a, 1, 5)

Note que se você for adicionando um valor a uma variável e depois usá-la para declarar quantos caracteres quer copiar, você criará o efeito letra-por-letra.

Seria mais ou menos assim:

b = 'a'
b = 'ab'
b = 'abc'
b = 'abcd'

E por aí vai.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por Denbs em Seg 04 Fev 2013, 01:03

Só uma ultima pergunta =P:
para que serve o index(numero 1 em "string_copy(a,1,5)"?
Muito obrigado novamente. =D

Denbs

Número de Mensagens : 204
Idade : 19
Data de inscrição : 19/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por Eudes - Hyo em Seg 04 Fev 2013, 01:23

esse parametro index é a posição inicial da String onde vc vai aplicar a função ""string_copy" (no exemplo original, a 'str1')

coloque o valor 2, ao inves do 1 por exemplo,
e vc verá que o texto será escrito a partir do "m" ("m texto ...")
e não do "u" ("um texto ...")

Eudes - Hyo

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por Mário Valney em Seg 04 Fev 2013, 06:18

Já foi extremamente bem explicado pela galera, mas só pra complementar (já que está aprendendo strings, pode ser útil):

string_length(str) : Retorna o número de caracteres da string STR.

string_pos(substr,str) : Retorna a posição de "substr" na "str" (0= ocorrência negativa ).

string_copy(str,index,count) : Retorna uma "substring" da string "str", começando na posição "index", com comprimento "count". ("substring" seria uma outra "string")

string_char_at(str,index) : Retorna o caractere que está na posição "index" na string "str".

Você encontra mais coisa na ajuda do GM (F1).

Mário Valney

Ranking : Nota A
Número de Mensagens : 203
Idade : 24
Data de inscrição : 16/11/2009
Notas recebidas : A
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.areaonze.com

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por Denbs em Seg 04 Fev 2013, 12:37

Obrigado por tudo,
Vlw

Denbs

Número de Mensagens : 204
Idade : 19
Data de inscrição : 19/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Dúvida]Alguém pode me explicar um código?

Mensagem por Conteúdo patrocinado Hoje à(s) 18:33


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum