Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - Mgbu

211
Yo empece a programar por primera vez en Game Maker y por eso empece con D&D, pero despues se me hizo facil pasarme a codigo, es lo mismo pero escribiendo en vez de arrastrar

A lo mejor si ya programas en otro lenguaje se te va a hacer facil empezar en codigo y no perder tiempo (estoy aprendiendo java bastante facil viniendo solamente de GML, es lo mismo con distintas funciones)
212
Yo creía que el mensaje final del día de los inocentes era para recordar nomas, que el mensaje era verdad. Por las dudas convenia ver que decían los otros XD

PD: El 28 es el dia de los chistes en los blogs de ciencia :P
213
Eso pasa con tu metodo o con el mio? seguramente es porque intentas ir a la room anterior cuando no la hay o algo asi (por eso puse un if al principio)

De ultima probá sacando el -1 en la última linea, asi:
if global.numeroDeRoomsVisitadas > 0 {
    global.roomAnterior[global.numeroDeRoomsVisitadas] = room;
    global.numeroDeRoomsVisitadas -= 1;
    room_goto(global.roomAnterior[global.numeroDeRoomsVisitadas]);
}
214
Nop, como decis esta mal :P

Con tu codigo siempre se va al menu principal, porque no le estas diciendo a qué índice ir (le sacaste los []), entonces usa el indice 0
En la linea 2 digo que roomAnterior en la posicion numeroDeRoomsVisitadas sea igual a la room actual

Es interesante que con tu metodo no te haya dado errores, ahora me tengo que ir, en un rato me fijo como arreglarlo
215
Uy, me mataste XD

Para decirte la verdad no tengo mucha idea de que puede ser.
El error que me das es bastante distinto a los que da GM8

Me parece que dice que intentamos acceder al array roomAnterior con un indice no permitido, o sea que está fuera de los límites. Lo raro es que GameMaker tiene arrays sin longitud definida, o sea que si declaro un array de longitud 8 luego puedo guardar algo en el indice 20 por ejemplo.
Tambien dice que el indice [0,-1] esta fuera del rango [1,2]. A eso no lo entiendo, porque me está mostrando dos indices, cuando nuestro array es de una sola dimension ???. Pero ahi se puede ver que intenta acceder al indice -1, así que debe ser eso (No existe el indice -1 en los arrays).
Luego muestra que el error ocurrió al guardar en el array la room actual (global.roomAnterior[global.numeroDeRoomsVisitadas] = room;), o sea que el error no es por intentar leer el array en una posición en donde no escribimos nada, si no por escribir en el indice -1
Y lo que me confunde también, es que uno podría pensar que el problema es que numeroDeRoomsVisitadas es igual a -1 (ya que es el indice del array). Pero no, mas abajo dice que es = 0  ??? ???
Y por ultimo al final podés ver los valores del array, que son 0 y 2. Me parece que eso está bien, porque 0 es MenuPrincipal y 2 es MenuOpciones (Podes ver que estan en el orden de la imagen que me pasate)

Y ademas de mostrarme arrays de dos dimensiones el error muestra numeros al lado de las variables. Ni idea de que significan, seran los punteros? :-\


No se si probaste en GM Studio el ejemplo que te adjunté, a lo mejor ese funciona para ver las diferencias. En GM8 me anda perfectamente

Entonces yo probaría correr el ejemplo que te adjunté, después podés probar a declarar el array al principio del juego con "global.roomAnterior[100] = 0". Eso crearía un array preparado para 100 cambios de room (me parece que sobra) para ver si ese es el problema
Y otra cosa que se puede hacer es dibujar en draw los valores de global.numeroDeRoomsVisitadas y del array poniendo en draw:
draw_text(10, 25, "global.numeroDeRoomsVisitadas = " + string(global.numeroDeRoomsVisitadas))

for (i = 0; i <= global.numeroDeRoomsVisitadas - 1; i += 1) {
    draw_text(10, 40 + 15*i, "global.roomAnterior[" + string(i) + "] = " + string(global.roomAnterior[i]))
}

Eso sirve para vigilar que global.numeroDeRoomsVisitadas no se haga -1 en ningun momento y para ver como se agregan y sacan valores del array que es muy divertido XD
216
Ugh perdón :-[ me equivoqué en una cosita en el código de volver atrás:

// Volver una room

if global.numeroDeRoomsVisitadas > 0 { //Para que no intenten volver atras en la primera room
    global.roomAnterior[global.numeroDeRoomsVisitadas] = room;
    global.numeroDeRoomsVisitadas -= 1;
    room_goto(global.roomAnterior[global.numeroDeRoomsVisitadas - 1]);
}


Por las dudas adjunto un ejemplo (es para Game Maker 8, así que debería andar en Studio)

EDIT: Con 0, 1, 2, y 3 cambias las rooms. Y con Backspace (La tecla de borrar arriba del enter) volvés atrás las rooms. Vas a ver que siempre terminas en el menú principal (Magia? XD)
217
Esas dos funciones sirven para obtener las rooms anteriores (o posteriores) usando el orden tal como lo ves en el arbol de recursos (la foto)

Se me ocurre que guardes en una variable global la room en la que estás antes de cambiar de room, algo así como:
global.roomAnterior = room;
room_goto(MenuOpciones);


Luego cuando quieras volver:
Citarroom_goto(global.roomAnterior)

El problema es que solo funciona para volver una sola vez, para volver atrás una room todas las veces que quieras podés usar:
Al comienzo del juego:

global.numeroDeRoomsVisitadas = 0;

Al cambiar de room:

global.roomAnterior[global.numeroDeRoomsVisitadas] = room;
global.numeroDeRoomsVisitadas += 1;
room_goto(MenuOpciones);

Para volver atras una room:

if global.numeroDeRoomsVisitadas > 0 { //Para que no intenten volver atras en la primera room
    global.roomAnterior[global.numeroDeRoomsVisitadas] = room;
    global.numeroDeRoomsVisitadas += 1;
    room_goto(global.numeroDeRoomsVisitadas);
}


Creo que así andaría ;D
218
Juegos completos / Re:Guerrita [HD]
Enero 02, 2013, 05:28:27 PM
Cita de: pucara en Enero 01, 2013, 11:54:28 AM
Hola amigo, gran puesta en escena de un juego clásico. Acabado profesional, sin fisuras.. salvo que impera que le programes una IA, para alcanzar el cénit.  8)

Jugué varias partidas (contra mi mismo) y debo ser muy bueno/malo, porque siempre gano/pierdo. ^___^


En fin, te doy un 10 por tu trabajo, lo merece realmente.

Un saludo y gracias por compartir.  8)

Gracias por el comentario, es un juego muy simple, pero como no es muy popular en la PC es interesante. Espero hacer una nueva versión destro de poco ;D
219
Preguntas y respuestas / Re:Mostrar cuando dinero tiene
Diciembre 30, 2012, 06:41:33 PM
Puede ser que:

Lo pusiste en Step, eso debe ir en el evento Draw

El color del fondo es igual al de las letras, podés poner al principio "draw_set_color(c_blue)" o el color que quieras

Las letras son transparentes, debés poner antes "draw_set_alpha(1)" (0 es invisible)

La fuente se ve mal, podés poner "draw_set_font(<Tu Fuente>)"

La view se mueve en la room, entonces debés dibujar relativo a la view con "draw_text(view_xview[0]+10,view_yview[0]+10,"Dinero: "+string(dinero))"


Entonces quedaría:

// Evento Draw
draw_set_color(c_blue)
draw_set_alpha(1)
draw_set_font(<Tu Fuente>)
draw_text(view_xview[0]+10,view_yview[0]+10,"Dinero: "+string(dinero))
220
Preguntas y respuestas / Re:Mostrar cuando dinero tiene
Diciembre 30, 2012, 02:49:25 PM
No tengo Game Maker Lite para probar si la funcion esta permitida ahi, pero parece que sí.

Hay que usar draw_text como se ve en el manual:
Citardraw_text(x,y,string) Dibuja el texto indicado en la posición (x,y) usando el color y el factor de transparencia de dibujo generales. Los símbolo #, chr(13) o chr(10) (tecla ENTER o de salto de línea) son interpretados como caracteres de salto de línea. De esta forma puedes dibujar textos de varias líneas (Usa \# para dibujar el símbolo #).

Entonces por ejemplo dibujamos así: draw_text(10,10,"Dinero: "+string(dinero))
Donde usamos coordenada 10,10 para que quede arriba a la izquierda. Después dibujamos "Dinero: " y luego la cantidad, convierto la variable dinero con string() porque es un número, y no un string, los numeros pueden dar errores al dibujarse
221
Propuestas y soporte / Re:Pregunta sobre los puntos
Diciembre 28, 2012, 05:45:43 PM
Ahh, ahora entiendo :-[
Pensaba que había hecho algun tipo de trampa XD
222
Propuestas y soporte / Pregunta sobre los puntos
Diciembre 28, 2012, 02:45:13 PM
Los puntos solo pueden ser dados en los posts? Porque hoy cuando estaba por reportar un spam, me di cuenta que él tenía 6 puntos y 1 mensaje. Mientras que el mensaje que estaba por reportar no había recibido puntos.
Hice un screen para que entiendan mejor



Se puede dar puntos fuera de posts? Un error?
224
Preguntas y respuestas / Re:Que juegos han surgido de GM
Diciembre 23, 2012, 05:01:34 PM
Los juegos de Android creados por Yoyo (el creador de GM) son buenos ejemplos de juegos muy (muy) simples y de calidad
225
Noticias / Re:[Concurso] Out of Time! Concurso CGM 2012
Diciembre 14, 2012, 07:39:39 PM
Los Argentinos quieren saber la zona horaria XD