Avatar do usuário
Zero
Novato
Novato
Autor
Mensagens: 19
Registrado em: Dom Ago 23, 2015 1:29 am
Karma: 5

GameMaker não reconhece string

Dom Dez 11, 2016 4:41 pm

Eu tenho uma string ca_sol[1,1], esses indices variam até 12. Eu salvo o  indice ca_sol[i,j] em uma variavel, ex: str=ca_sol[i,j]. Quando tento utilizar essa variavel com funções de string, ele me retorna um erro dizendo que a função esperava uma string do tipo YYGS, não sei do q se trata. Ex: string_length(str), retorna o erro dito anteriormente, mas se eu salvar str assim: str=ca_sol[1,1], funciona normalmente, o que é isso?

Tags:
 
Avatar do usuário
Adilson
Membro
Membro
Mensagens: 117
Registrado em: Qua Set 23, 2015 8:01 pm
Localização: Curitiba Parana
Karma: 142

Re: GameMaker não reconhece string

Dom Dez 11, 2016 5:38 pm

tente converte-la, usando a função string
Exemplo:

str = string(ca_sol[i,j]);//converter para string
size = string_length(str);//pega o numero de caracteres da  str convertida, simmmples :)
Vlw, Flw !!
 
Avatar do usuário
Zero
Novato
Novato
Autor
Mensagens: 19
Registrado em: Dom Ago 23, 2015 1:29 am
Karma: 5

Re: GameMaker não reconhece string

Dom Dez 11, 2016 8:57 pm

Eu ja havia tentado, mas não funciona tb :/
A variável é uma string.
 
Lima Loucão
Novato
Novato
Mensagens: 16
Registrado em: Qua Out 26, 2016 12:34 pm
Karma: 20

Re: GameMaker não reconhece string

Dom Dez 11, 2016 9:19 pm

Quando você adiciona assim: str=ca_sol[i,j], mande este código logo abaixo: show_debug_message(str) e veja se ela é realmente uma string. Mostre-nos como você está tentando utilizar a variável com funções de string...
1
 
Avatar do usuário
Zero
Novato
Novato
Autor
Mensagens: 19
Registrado em: Dom Ago 23, 2015 1:29 am
Karma: 5

Re: GameMaker não reconhece string

Dom Dez 11, 2016 11:15 pm

Este é o código :
var pos_fix=58, char, left, fim, pos, str, count=0;
for(i=1;i<=12;i++)
{
    for(j=1;j<=12;j++)
    {
        str=ca_sol[i,j];
        show_debug_message(str);
        fim=false;
        pos=pos_fix;
        left=false;
        while !fim
        {
            if !left
            {
                char=string_char_at(str,pos);
                if (char=" ")
                {
                    str=string_delete(str,pos,1);
                    str=string_insert("#",str,pos);
                    pos+=pos_fix;
                    count++;
                }
                else
                    left=true;   
            }
            else
            {
                pos--;
                char = string_char_at(str,pos);
                if (char = " ")
                {
                    str=string_delete(str,pos,1);
                    str=string_insert("#",str,pos);
                    left = false;
                    pos+=pos_fix;
                    count++;
                }  
            }
            if (pos>string_length(str))
            {
                fim=true; 
                ca_sol[i,j]=str;  
            }
        }
    }
}


A ideia é que ele quebre o texto pra sempre caber na minha tela. Mas acontece o problema descrito.
str fica em forma de string e ca_sol é uma variavel que guarda um texto e ela vai de [1..12,1..12].
 
Lima Loucão
Novato
Novato
Mensagens: 16
Registrado em: Qua Out 26, 2016 12:34 pm
Karma: 20

Re: GameMaker não reconhece string

Dom Dez 11, 2016 11:33 pm

Você quer quebrar um texto toda vez que ele chega no final da sua tela? Já tentou usar a função: draw_text_ext?
draw_text_ext(x,y,texto para desenhar, distância em pixels entre as linhas, tamanho em pixels antes do texto quebrar)
 
Avatar do usuário
Zero
Novato
Novato
Autor
Mensagens: 19
Registrado em: Dom Ago 23, 2015 1:29 am
Karma: 5

Re: GameMaker não reconhece string

Seg Dez 12, 2016 12:38 am

Sim, mas não pode quebrar do nada, só quando tiver um espaço, se não a palavra fica quebrada.
Testando vaaaaarias coisas, descobri o problema. O problema era que um dos textos tinha um texto dentro, tipo o simbolo de aspas xD
1

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes