Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: verdader26 en Julio 23, 2012, 03:32:23 AM

Título: Donde esta el error?
Publicado por: verdader26 en Julio 23, 2012, 03:32:23 AM
CODIGOS:
Create Event:
execute code:

global.fn="Frame ";
global.fnn=0;
global.fe=".jpeg";
global.fen=global.fn +  global.fnn + string(global.fe);


Step Event:
execute code:

global.fnn +=1

cuando ejectuo el juego me dice:

___________________________________________
ERROR in
action number 1
of Create Event
for object object10:

Error in code at line 4:
   global.fen=global.fn +  global.fnn + string(global.fe);
                                  ^
at position 33: Wrong type of arguments to +.

COMO LO PUEDO SOLUCIONAR?

PD:si en vez de global.fnn pongo string(gloval.fnn) no me da errores pero luego no puedo aumentar el numero
Título: Re:Donde esta el error?
Publicado por: fab62 en Julio 23, 2012, 04:47:59 AM
deberías colocar global.fen en el evento step, asi:

global.fnn += 1
global.fen=global.fn +  string(global.fnn) + string(global.fe);
Título: Re:Donde esta el error?
Publicado por: elviskelley en Julio 23, 2012, 04:59:14 AM
El problema es que global.fn es un string osea texto, y estas pidiendo al sistema sume los valores de texto+0+texto
pero indicas el primer texto (string) como si fuera numeros. creo que hay en game maker algo para pasarlo a un valor numerico si no me equivoco es esto: real(string) osea podrias usarlo asi
var a;
a=real(global.fn)
global.fen=a +  global.fnn + string(global.fe);
pero no te aseguro sea la solucion a tu problema.
Tambien puedes convertir texto en un valor exadecimal osea Acsi con ord(") solo as pruebas y en el modo debug verifica si te sirven, de lo contrario tendras que cambiar el metodo que usas.
Título: Re:Donde esta el error?
Publicado por: Mr.Dudas en Julio 23, 2012, 02:11:27 PM
Cita de: elviskelley en Julio 23, 2012, 04:59:14 AM
El problema es que global.fn es un string osea texto, y estas pidiendo al sistema sume los valores de texto+0+texto
pero indicas el primer texto (string) como si fuera numeros. creo que hay en game maker algo para pasarlo a un valor numerico si no me equivoco es esto: real(string) osea podrias usarlo asi
var a;
a=real(global.fn)
global.fen=a +  global.fnn + string(global.fe);
pero no te aseguro sea la solucion a tu problema.
Tambien puedes convertir texto en un valor exadecimal osea Acsi con ord(") solo as pruebas y en el modo debug verifica si te sirven, de lo contrario tendras que cambiar el metodo que usas.

___________________________________________
ERROR in
action number 1
of Create Event
for object object10:

Error in code at line 3:
   a=real(global.fn)
                 ^
at position 16: Unknown variable fn
Título: Re:Donde esta el error?
Publicado por: Mr.Dudas en Julio 23, 2012, 02:13:30 PM
Cita de: fab62 en Julio 23, 2012, 04:47:59 AM
deberías colocar global.fen en el evento step, asi:

global.fnn += 1
global.fen=global.fn +  string(global.fnn) + string(global.fe);
si delante de global.fnn pongo string luego global.fnn no puede cambiar de numero y yo necesito que cambie
Título: Re:Donde esta el error?
Publicado por: ferhand en Julio 23, 2012, 05:41:32 PM
  Saludos Makero Mr.Dudas:

  Creo saber cual es el problema.   8) 

Citarglobal.fnn += 1
global.fen=global.fn +  string(global.fnn) + string(global.fe);

  Primero a global.fnn le adicionas un entero (int) y en la línea siguiente le agregas una cadena de caracteres (string). No es lo mismo cambiar el valor de una variable que agregarle valores de distintos tipos. Esto causa problemas.  :-[

  Casualmente este fin de semana me pasó. Debe escoger el tipo de dato que vas a utilizar en esa variable, pero no puedes tratar a su valor primero como entero y luego agrarle una cadena de caracteres.  8)

  Mi opinión debes crear dos variables una que guardará el valor en (string) y la otra en (int). Siempre puedes convertir de uno al otro, pero nunca agregarle uno al otro.  :-[

  Espero que te sirva de ayuda... ;D