Este es mi problema, son 3 filas(3objetos diferentes )
A B C
--- ---- ----
--- ---- ----
FILA A MISMOS OBJETOS
FILA B MISMOS OBJETOS
FILA C MISMOS OBJETOS
y yo hice por ejemplo que cuando en el primer cuadro salga 10 en el tercer cuadro salta 10
y si en el segundo cuadro salga100 en el tercer cuadro salga 100 pero me devuelve el mismo del primero, estaba usando array y aun asi no me sale, creo debo llamar al objeto por su id x.x pero nose como ayuda, estoy usando array
esto se va a descontrolaaar... aiudaaa!!
No te entiendo en absoluto. Cálmate, mira el teclado, explica todo y correctamente.
Cita de: NiuWeb en Mayo 08, 2016, 04:52:21 AM
No te entiendo en absoluto. Cálmate, mira el teclado, explica todo y correctamente.
lo q quiero es hacer como una clase de calculadora
dato1 dato2 rep
[ ] + [ ] = [ ]
uso "for" por lo cual cuando presiono el teclado q quiero aumenta, entonces seria
dato1 dato2 rep
[ ] + [ ] = [ ]
[ ] + [ ] = [ ]
pero cuando escribo 10
dato1 dato2 rep
[ 10 ] + [ ] = [10 ] <-- fila1
[ 100 ] + [ ] = [10 ] <-- fila 2
esto es lo q pasa, el resultado se repite a la fila 1, y eso es lo q no quier, ahora si entiendes amigo ??
Vale, entiendo un poco más :-[
Pero... aún así (aunque lo he intentado) no puedo leer tu mente para saber cómo haces las operaciones, ¿No podrías mostrar los códigos que usas?
Cita de: NiuWeb en Mayo 08, 2016, 05:56:24 AM
Vale, entiendo un poco más :-[
Pero... aún así (aunque lo he intentado) no puedo leer tu mente para saber cómo haces las operaciones, ¿No podrías mostrar los códigos que usas?
objeto : valor1
es algo simple
//create
dato=""
left pressed(mouse clic izquierdo)
dato=get_integer("ingrese dato :",dato );
//draw
draw_self()
draw_text(x+10,y+5,dato)
obj:resultado
//create
dato="";
draw
dato=valor1.dato
draw_text(x+10,y+5, dato)
la verdad estoy usando array pero te la dejo asi para q te des una idea (esque esta un poco entreverado) x.x pero es asi practicamente
Cita de: NiuWeb en Mayo 08, 2016, 05:56:24 AM
Vale, entiendo un poco más :-[
Pero... aún así (aunque lo he intentado) no puedo leer tu mente para saber cómo haces las operaciones, ¿No podrías mostrar los códigos que usas?
a y uso esto
eso supuestamente hace q cree mas objetos al modificar el valor "m"
m=1;
for(i=1; i<=m;i++)
{
instance_create(x,y+(i*50),valor1)
instance_create(x+150,y+(i*50),rep)
}
Bueno, ese código así como lo tienes tiraría error. Puesto que está intentando dibujar un número real con la función draw_text(), la cual sólo puede dibujar cadenas.
Con el segundo código creo que encontré el error (imaginando que el error de arriba no existe). Lo que sucedes es que en todas las instancias de rep (imagino que es la que muestra el resultado) estás tomando el valor de la variable dato del objeto valor1 como tal, no de una instancia, por lo que todos tomarán siempre el mismo valor (el de la misma instancia).
Cita de: NiuWeb en Mayo 08, 2016, 06:12:35 AM
Bueno, ese código así como lo tienes tiraría error. Puesto que está intentando dibujar un número real con la función draw_text(), la cual sólo puede dibujar cadenas.
Con el segundo código creo que encontré el error (imaginando que el error de arriba no existe). Lo que sucedes es que en todas las instancias de rep (imagino que es la que muestra el resultado) estás tomando el valor de la variable dato del objeto valor1 como tal, no de una instancia, por lo que todos tomarán siempre el mismo valor (el de la misma instancia).
si lose , llama al valor dato por lo cual me sale el mismo resultado, por eso , eso es mi duda, como hago para q no salga el mismo valor cada rato
Podrías, en el ciclo, agregar una variable en cada instancia (valor1 y rep) para que se "conecten".
Por ejemplo, podrías reemplazar el ciclo por:
[gml]
var ins1, ins2;
for(var i = 1; i <= 2; i++) {
ins1 = instance_create(x,y+(i*50),valor1);
ins1.ident = i;
ins2 = instance_create(x+150,y+(i*50),rep);
ins2.ident = i;
}
[/gml]
Y luego, en el objeto rep, en la parte donde tomas el valor de la instancia de valor1:
[gml]
var eldato;
with (valor1) {
if ident == other.ident
eldato = dato;
}
draw_text(x+10,y+5, string(eldato));
[/gml]
Cita de: NiuWeb en Mayo 08, 2016, 06:32:04 AM
Podrías, en el ciclo, agregar una variable en cada instancia (valor1 y rep) para que se "conecten".
Por ejemplo, podrías reemplazar el ciclo por:
[gml]
var ins1, ins2;
for(var i = 1; i <= 2; i++) {
ins1 = instance_create(x,y+(i*50),valor1);
ins1.ident = i;
ins2 = instance_create(x+150,y+(i*50),rep);
ins2.ident = i;
}
[/gml]
Y luego, en el objeto rep, en la parte donde tomas el valor de la instancia de valor1:
[gml]
var eldato;
with (valor1) {
if ident == other.ident
eldato = dato;
}
draw_text(x+10,y+5, string(eldato));
[/gml]
gracias amigo me funciono, pero ? q quisite decir con ins1.ident = i; <---
El ciclo, en este caso, se repite dos veces, sumando en cada iteración 1 a la variable i.
Entonces, por cada iteración creamos un par de instancias, valor y resultado. Entonces, deseamos agruparlas. La forma más rápida que se me ocurrió fue agruparlas con el valor de la iteración del ciclo. Es decir que la primera pareja estará agrupada bajo el número 1, y la segunda pareja bajo el número 2.
Luego, cada objeto de resultado revisará el valor del objeto de valor perteneciente sólo a su pareja, para no confundirse y poner valores de otras parejas.
Cita de: NiuWeb en Mayo 08, 2016, 06:57:59 AM
El ciclo, en este caso, se repite dos veces, sumando en cada iteración 1 a la variable i.
Entonces, por cada iteración creamos un par de instancias, valor y resultado. Entonces, deseamos agruparlas. La forma más rápida que se me ocurrió fue agruparlas con el valor de la iteración del ciclo. Es decir que la primera pareja estará agrupada bajo el número 1, y la segunda pareja bajo el número 2.
Luego, cada objeto de resultado revisará el valor del objeto de valor perteneciente sólo a su pareja, para no confundirse y poner valores de otras parejas.
a ok gracias amigo ñ.ñ :D me ayudaste mucho :D