Julio 28, 2010, 08:03:55 PM Ultima modificación: Julio 28, 2010, 08:59:27 PM por wako91
Estoy  apunto de empezar a hacer lo que seria el juego en si, tengo preparados algunos objetos, la interfaz, la pantalla de inicio y todas esas cosas. Incluso tengo preparado un men? de Items pero no se como a?adir y usar objetos.

El men? es este:



http://s2.subirimagenes.com/imagen/previo/thump_4872471imagen.png

Al hacer click en la mochila se abre la ventana que pod?is ver, bien, me gustar?a que los objetos que me den o recoja del suelo aparezcan ah?, me da igual ordenados, al azar o esparcidos por el recuadro solo quiero que aparezcan y cuando vuelva a entrar en el men? o vuelva a jugar sigan ah? (para un novato esta es una cuesti?n importante xD)y claro, que al hacer click hagan su funci?n.

No tengo ni idea de cuan complicado puede llegar a ser hacer algo as? por lo que no se si me estoy pasando pidiendo o no xDD pero si se que yo no tengo ni la m?s remota idea de como se hace :S

PD
Las otras casillas numeradas son para poner objetos, algo as? como accesos r?pidos. Creo que una vez vea como se hace el men? podre hacerlo yo.

#1 Julio 28, 2010, 08:10:56 PM Ultima modificación: Julio 28, 2010, 08:28:45 PM por soccer2008
usa un array para almacenar los objetos que deseas a?adir a tu menu...ejemplo:

En create defines los objetos:

global.Objetos[0]="espada";
global.Objetos[1]="monedas";
global.Objetos[2]="rifle";
global.Objetos[3]="mochila";
global.Objetos[4]="anillo";

//tambi?n creas otro array que contenga la cantidad de objetos


global.num_objetos[0]=0; //espada
global.num_objetos[1]=0; //monedas
global.num_objetos[2]=0; //rifle
global.num_objetos[3]=0; //mochila
global.num_objetos[4]=0; //anillo


ahora el resto es cuesti?n de que cuando el personaje colisione x ejemplo con la espada haga lo siguiente:


global.num_objetos[0]+=1;

with(obj_espada)
{ instance_destroy();
}


Ahora creas un objeto controlador para el menu:

En el evento draw pones esto:

if(0<global.num_objetos[0])
{
draw_sprite(1,sprite_espada,x,y);
draw_text(x+200,y,"Cantidad: "+string(global.num_objetos[0]));
}

para poner todos los objetos ser?a con un for.

bueno esa es la idea con array, aunque con listas ser?a mejor xq tiene funciones especiales como x ejemplo ordenar ascendente y descendentemente.

bueno espero te sirva como guia si tu lo haces de forma m?s sencilla ser?a mejor, saludos  XD XD XD

Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#2 Julio 28, 2010, 08:58:43 PM Ultima modificación: Julio 28, 2010, 09:35:27 PM por wako91
"Fallos" aunque seguramente algo hago mal...

Cuando vuelvo a entrar al juego todos los contadores de objetos se ponen a 0

A pesar de que no tienen nada que ver, el men? me muestra la imagen que le da la real gana de cada objeto.

El fondo de mi men? desaparece.

No puedo agregar objetos con funciones (por lo que este men? me ser?a in?til)ya que me permite usarlos mientras est?n en el suelo.

?Alguna sugerencia? xD

?Te importar?a ponerlo m?s claro o un ejemplo?

#3 Julio 28, 2010, 09:47:13 PM Ultima modificación: Julio 28, 2010, 10:06:53 PM por soccer2008
Cita de: wako91 en Julio 28, 2010, 08:58:43 PM
"Fallos" aunque seguramente algo hago mal...
talvez no me dej? explicar...

Citar
Cuando vuelvo a entrar al juego todos los contadores de objetos se ponen a 0

Las variables inicialas en un room inicial, antes que empieze el room del juego.

Citar
El fondo de mi men? desaparece.

es que el menu tbm deber?a ir con el draw_sprite(1,menu,x,y);

Citar
No puedo agregar objetos con funciones (por lo que este men? me ser?a in?til)ya que me permite usarlos mientras est?n en el suelo.

los objetos lo defines en el array.

Citar
?Te importar?a ponerlo m?s claro o un ejemplo?
...ejemplo, creo q hize uno parecido, en un momento lo adjunto, sino es lo q buscas ver? q puedo hacer x ti, saludos XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#4 Julio 28, 2010, 10:22:56 PM Ultima modificación: Julio 28, 2010, 11:05:50 PM por wako91
Lo siento pero tu ejemplo no me sirve, no funciona. <<<< reconozco que me quedo borde y no me expliqu? xD

no funciona o no es lo q necesitas????????
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

jajaja que borde me quedo eso xD, digo que tu ejemplo no funciona, en uno de las objetos pone Unknow ... supongo que habr?s usado alguna librer?a que yo no tengo o algo as?.

Tu men? me ha ayudado much?simo pero me he fijado en que me pondr? todos los objetos uno encima del otro ?no? o como (lo se, me cuesta pillar estas cosas)

una cosilla, ???y usando bases de datos??? *.ini?

#7 Julio 28, 2010, 11:17:22 PM Ultima modificación: Julio 28, 2010, 11:32:23 PM por soccer2008
voy a revisar el ejemplo, ni cuenta me he dado de esa librer?a...ya lo revis? y ese un Unknow que sale es la font (el tama?o de letra, tipo de letra y color), sino q que sali? as? xq el ejemplo originalmente estaba hecho en gm5 y al pasarlo al 8, la font del 8 es distinto a la font del 5, pero ya lo adecu? a la del 8, ahi est? el ejemplo...



CitarTu men? me ha ayudado much?simo pero me he fijado en que me pondr? todos los objetos uno encima del otro ?no? o como (lo se, me cuesta pillar estas cosas)

Eso de las posiciones de los objetos definelos en un array de la siguiente forma:

Posicion_y_object[1]=10;  //esto es la y para el objeto 1
Posicion_y_object[2]=60;  //esto es la y para el objeto 2
Posicion_y_object[3]=110; //esto es la y para el objeto 3
Posicion_y_object[4]=160; //esto es la y para el objeto 4
Posicion_y_object[5]=210; //esto es la y para el objeto 5


y al ponerlo en el evento draw lo har?as asi:

for(i=0;i<numero_d_object;i+=1)
{
  draw_sprite(1,global.sprite_object,100,Posicion_y_object);
}


Citaruna cosilla, ???y usando bases de datos??? *.ini?

creo q es lo mismo q usar archivos, si deseas usar archivos tbm te puedo ayudar, saludos XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#8 Julio 29, 2010, 12:29:09 AM Ultima modificación: Julio 29, 2010, 01:21:55 AM por wako91
Estar?a bien, as? podr?a considerar que opci?n me convence m?s.

Edito:
Lo he hecho funcionar (mas o menos xD) y no es exactamente lo que yo quer?a...

Mi idea era que los objetos se viesen en el recuadro como en slots o huecos o como quieras llamarlos. Y que se puedan mover entre ellos (o no, si se van poniendo cada uno en el suyo ya va bien) y usar.

Haber si esto te dice algo:



De todas formas es casi eso y te doy las gracias igualmente, como no.

voy a tratar de hacer un ejemplo(dentro de 1,5 horas m?s o menos), tengo la idea, lo podr?a seguir haciendo con arrays ya que son pocos objetos, saludos XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#10 Julio 29, 2010, 07:33:15 PM Ultima modificación: Julio 30, 2010, 06:19:21 PM por wako91
ok, mientras cuando tenga ganas de hacer algo en el maker me dedicar? a preparar objetos, sprites y dem?s.

?A-NI-MO! xDD

------------------------------------------------------------------------

Para almacenar objetos utilizaras el mismo sistema? lo digo por ir adelantando.

#11 Julio 30, 2010, 08:59:03 PM Ultima modificación: Julio 30, 2010, 09:51:24 PM por soccer2008
Estoy terminando de hacer el ejemplo, en unos momentos lo adjunto, saludos XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#12 Julio 31, 2010, 12:47:07 PM Ultima modificación: Julio 31, 2010, 01:06:31 PM por wako91
Estoy probando que tal, te digo m?s tarde...

Edito:

?Como hago para colocar los items de las siguientes filas? a?do y + donde x +???

No puedo coger un item si esta repetido en pantalla, adem?s, si traslado la colisi?n al propio objeto me salta error con la variable "A" y aunque le ponga global o algo as? nada de nada.

bufff esto me costo una barbaridad de hacer. Me tiraria horas para decir como lo hice xD. Basicamente hise exactamente lo que tu necesitas, es una grieta, cojes un objeto y sale. La capacidad maxima eran 56 objetos. Si tienes conocimiento en el uso de arrays no te deberia costar.

Para cojer items, hacia esto:
repeat(56)
{
place += 1
if invpersistent.slot[place] = 0 and set = 0{invpersistent.slot[place] = itemid; set = 1; exit;}
}

repeat(56) es la cantidad maxima de objetos, 56
place es un valor que nos checkeara que lugar esta libre.
invpersistent es el inventario.
slot[place] = 0 sirve para ver si el slot esta libre. Si no lo esta, revisa otro slot
itemid es el item que cojiste
exit sirve para dejar de mirar slots y quedarte con el item
lo del set lo hize para que no pudieras volver a abrir el cofre del tesoro
Noka siempre responde a los temas con 0 respuestas ^^

#14 Julio 31, 2010, 06:59:15 PM Ultima modificación: Julio 31, 2010, 07:04:05 PM por wako91
Ni siquiera se que es un array :D


Voy a hacer una cosa, os subo lo que tengo hasta ahora de mi juego y veis como funciona...

Click en la mochila abre el men? de items.
Click al nombre muestra una ficha con los datos del jugador.
Click en el icono de las monedas muestra estado financiero.
Click derecho en la pantalla muestra opciones (salir, guardar, cargar)

Os recomiendo escoger a la chica de verde que es la ?nica que tiene a punto el movimiento.

El juego viene a ser una "version" de Harvest moon b?sicamente por la tem?tica.

http://www.megaupload.com/?d=HN452AKP