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.

Temas - fifofaifer

1
Preguntas y respuestas / Problema con Score
Marzo 03, 2012, 10:47:32 AM
Buenas gentes,

Estoy desarrollando un juego de navecitas y tengo un problema. El juego dispone de un menu con 4 opciones New Game, Highscores, multiplayer y credits, el problema es el siguiente:

Al entrar en la room que corresponde a HighScores salir y empezar una partida nueva no se visualiza correctamente la puntuación, no solo se desplaza si no que no se suman puntos es raro por que no tengo nada que me haga pensar que el código esta mal. Os expongo el código que interviene:

En la room en la que se inicia la nueva partida tengo un objeto llamado sistema que contiene un evento draw y pinta lo siguiente:

draw_set_font(ScoreFont1)
draw_text_color(x+10,y-19,"Score: " + string(score),c_red,c_red,c_red,c_red,1)
draw_text_color(x+11,y-20,"Score: " + string(score),c_white,c_white,c_white,c_white,1)


Hasta aquí todo bien ya que si inicias una partida sin pasar por los HighScores todo funciona correctamente

En la room Highscores tengo un objeto llamado highScoresObject que cuando se crea lee un archivo ini para ver las puntuaciones de la siguiente manera:

ini_open("scores.ini");
score1n = ini_read_string("puntuaciones", "1n", false);
score1 = ini_read_real("puntuaciones", "1", false);
score2n = ini_read_string("puntuaciones", "2n", false);
score2 = ini_read_real("puntuaciones", "2", false);
score3n = ini_read_string("puntuaciones", "3n", false);
score3 = ini_read_real("puntuaciones", "3", false);
score4n = ini_read_string("puntuaciones", "4n", false);
score4 = ini_read_real("puntuaciones", "4", false);
score5n = ini_read_string("puntuaciones", "5n", false);
score5 = ini_read_real("puntuaciones", "5", false);
score6n = ini_read_string("puntuaciones", "6n", false);
score6 = ini_read_real("puntuaciones", "6", false);
score7n = ini_read_string("puntuaciones", "7n", false);
score7 = ini_read_real("puntuaciones", "7", false);
score8n = ini_read_string("puntuaciones", "8n", false);
score8 = ini_read_real("puntuaciones", "8", false);
score9n = ini_read_string("puntuaciones", "9n", false);
score9 = ini_read_real("puntuaciones", "9", false);
score10n = ini_read_string("puntuaciones", "10n", false);
score10 = ini_read_real("puntuaciones", "10", false);
ini_close ();


Y en el evento pintar dibuja lo siguiente:

draw_set_font(textFont1);//escogemos la fuente...
draw_set_halign(fa_left)
draw_text_color(x+70,y+60,"1.",c_red,c_red,c_red,c_red,1)
draw_text_color(x+105,y+60,string(score1n),c_red,c_red,c_red,c_red,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+60,string(score1),c_red,c_red,c_red,c_red,1)

draw_set_halign(fa_left)
draw_text_color(x+70,y+90,"2.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+90,string(score2n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+90,string(score2),c_white,c_white,c_white,c_white,1)

draw_set_halign(fa_left)
draw_text_color(x+70,y+120,"3.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+120,string(score3n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+120,string(score3),c_white,c_white,c_white,c_white,1)

draw_set_halign(fa_left)
draw_text_color(x+70,y+150,"4.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+150,string(score4n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+150,string(score4),c_white,c_white,c_white,c_white,1)

draw_set_halign(fa_left)
draw_text_color(x+70,y+180,"5.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+180,string(score5n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+180,string(score5),c_white,c_white,c_white,c_white,1)

draw_set_halign(fa_left)
draw_text_color(x+70,y+210,"6.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+210,string(score6n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+210,string(score6),c_white,c_white,c_white,c_white,1)

draw_set_halign(fa_left)
draw_text_color(x+70,y+240,"7.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+240,string(score7n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+240,string(score7),c_white,c_white,c_white,c_white,1)

draw_set_halign(fa_left)
draw_text_color(x+70,y+270,"8.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+270,string(score8n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+270,string(score8),c_white,c_white,c_white,c_white,1)

draw_set_halign(fa_left)
draw_text_color(x+70,y+300,"9.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+300,string(score9n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+300,string(score9),c_white,c_white,c_white,c_white,1)

draw_set_halign(fa_left)
draw_text_color(x+60,y+330,"10.",c_white,c_white,c_white,c_white,1)
draw_text_color(x+105,y+330,string(score10n),c_white,c_white,c_white,c_white,1)
draw_set_halign(fa_right)
draw_text_color(x+430,y+330,string(score10),c_white,c_white,c_white,c_white,1)


Bueno el caso es ese, si no pasas por la pantalla highscores la cosa funciona perfectamente, en cuanto vas a la pantalla highscore deja de funcionar el score en la partida ¿por que? pues no tengo ni idea a ver si alguien me puede exar una manita, os dejo la url para ver el juego con el navegador y que veais el comportamiento:

http://fxartedigital.com/juego/

Gracias de antemano
2
Buenas a todos,

Me estoy volviendo loco con un problema que no logro resolver os explico:

Necesito que al pulsar una tecla del teclado un puntero o mirilla apunte a uno de los enemigos que hay creados, si el jugador vuelve a pulsar la tecla entonces el puntero o mirilla debe de saltar al siguiente enemigo que ser? un objeto igual que el anterior pero con un valor diferente.

Bien para ello he creado una variable global llamada:
[gml]global.apunta[/gml]

cuando un objeto del tipo enemigo es creado ejecuta el siguiente codigo:
[gml]global.apunta += 1
numeroObjeto = global.apunta[/gml]

de esta manera sabemos el valor que tiene cada enemigo asi si creo 3 enemigos el primero vale 1, el segundo vale 2 y el tercero vale 3

Bien mi problema es que no se como hacer para que cuando el jugador pulse la tecla en uestion vaya apuntando a los enemigos en su orden y que cuando llegue al final vuelva al primer enemigo al que apuntamos

La idea es que el sistema de disparo funcione igual que el juego de recrativa The punisher dejo un video para que veais cual es la idea la funci?n a copiar est? en el segundo 42 de este video

http://www.youtube.com/watch?v=FbYO2lhDKgg

No se si lo he explicado bien

?Alguna idea para hacer esta funcion?

Muchas gracias de ante mano