Si, lo se. Me vais a mandar a tomar por culo xk solo traigo problemas estúpidos pero llevo mas de 1h dándole vueltas a la cosa y no puedo xD
A ver, yo estoy haciendo un juego de plataformas y para ello estoy siguiendo los videotutoriales de Jucarave (un compañero de esta comunidad si mal no recuerdo) y al principio hice todo tal y como el lo hacia, con las mismas medidas y todo. Pero hoy siguiendo con el juego he visto que necesitaba que el juego fuese mas pequeño (antes las medidas de los sprites eran 32x32 y ahora 16x16) por lo tanto he tenido que cambiar el codigo para que funcionara.
Hasta este punto todo normal, pero el problema me viene que al saltar justo antes de tocar el bloque que hay encima (si no hay nada no aparece el error) me dice que la variable "Y" no la reconoce y me para el juego.
Os adjunto el script y el proyecto:
Citar
if (collision_rectangle(x-6,y,x+6,y+vspeed-32,obj_block,0,0) && vspeed < 0){
var bloque;
bloque = collision_rectangle(x-6,y,x+6,y+vspeed-16,obj_block,0,0);
y = bloque.y+23;
vspeed = 0;
}
if (collision_rectangle (x-6,y,x+6,y+vspeed,obj_block,0,0) && vspeed > 0){
var bloque;
bloque = collision_rectangle (x-6,y,x+6,y+vspeed,obj_block,0,0);
vspeed = 0;
gravity = 0;
y = bloque.y-9;
move_contact_solid(270,25);
}
La y marcada en amarillo es la que en teoría no me reconoce y realmente no se xk ya que antes si que la reconocía y si la quito el juego funciona (al tocar el bloque sale disparado para arriba pero funciona)
Lo dicho, que me es imposible solucionarlo yo por mas vueltas que le doy :'(
SalU2
No lo probé pero el problema debe ser que no hay ningun objeto en la habitacion que se llame bloque, cambia "bloque" por "obj_block". Te debe haber quedado sin cambiar luego de copiar lo del tutorial ;)
Creo que el del tutorial puso bloque por k la variable es bloque:
Citarvar bloque;
bloque = collision_rectangle(x-6,y,x+6,y+vspeed-16,obj_block,0,0);
A parte, he revisado el tutorial y si que pone bloque, yo realmente del script solo he cambiado 4 números que eran las medidas del personaje, asi que en teoría me tendría que funcionar
Y si hago lo que tu dices donde antes me salia el error, el personaje rebota y sale de la pantalla.
Pero gracias igualmente ^^
Ahh, si solo cambiaste unos numeros entonces el problema debe ser que falta seguir cambiando otros. Por ejemplo las cajas de colision, las coordenadas a moverse, etc.
Ahora que intento probarlo es .gmx, yo solo teno Game Maker 8 y Game Maker 8.1. No podes guardarlo en formato .gmk o .gm81?
Cita de: Mgbu en Septiembre 05, 2012, 08:54:41 PM
Ahh, si solo cambiaste unos numeros entonces el problema debe ser que falta seguir cambiando otros. Por ejemplo las cajas de colision, las coordenadas a moverse, etc.
Ahora que intento probarlo es .gmx, yo solo teno Game Maker 8 y Game Maker 8.1. No podes guardarlo en formato .gmk o .gm81?
Supongo que puede ser eso, pero realmente me he mirado todos los códigos y no se que mas cambiar, es lo malo de no saber action script que en estas cosas vas un poco a ciegas y cuando surje un problema te las ves negras para solucionarlo u.u
Te he adjuntado el nuevo archivo a ver si este funciona en teoria es .gm81
No me lo abre, cómo lo guardaste?
No tengo tu Game Maker pero supongo que debe ser con Archivo>Guardar como
A lo mejor alguien tiene tu Game Maker para ayudarte, voy a preguntar
En guardar como se me guarda como proyecto, pero si le doy a exportar me sale ese archivo.
En teoría me descargué (con la ayuda de mi amigo mediafire xD) el GM studio.
Pero vamos que con el GM normal se tendría k poder abrir el archivo...
Pero no me funciona, me aparece "Invalid or Corrupt File" voy a abrir un tema para no quedar mal y resolver el tema :-[
Bueno, al final lo he conseguido arreglar por mi cuenta y por si alguien tiene curiosidad lo he dejado asi.
Citar
//Despues de solucionar el problema del error me seguia dando un pequeño problema que a la hora de saltar el personaje chocaba con un objeto invisible y he tenido que cambiar algunos numeros para que quedase lo mejor posible, lo malo es que si ahora te acercas mucho a una pared (pegado del todo, si te separas un poco no pasa nada) al saltar chocas con el bloque pero ha sido xk la X no la he podido ajustar mas, esta entre el 7 y 8.
if (collision_rectangle(x-8,y,x+8,y+vspeed-20,obj_block,0,0) && vspeed < 0){
var bloque;
bloque = collision_rectangle(x-3,y,x+3,y+vspeed-20,obj_block,0,0);
//para que no me saliera el mensaje de error he puesto el siguiente codigo
if instance_exists(bloque)
y = bloque.y+7+16;
vspeed = 0;
}
if (collision_rectangle (x-6,y,x+6,y+vspeed,obj_block,0,0) && vspeed > 0){
var bloque;
bloque = collision_rectangle (x-6,y,x+6,y+vspeed,obj_block,0,0);
vspeed = 0;
gravity = 0;
y = bloque.y-9;
move_contact_solid(270,25);
}
Si arreglo una cosica que tengo en un nivel (solo quiero conseguir que el PJ al tocar un bloque aparezca en el escenario un sprite, pero la combinación "PJ collision to caja -> draw sprite" no funciona xD) posiblemente postee el juego el lunes o domingo, depende de cuantos niveles tenga que hacer. ^^