Hola :|,resulta que he hoy me he puesto con mi juego y al rato no se que he tocada y las.variables.x,y no me funcionan ejemplo un if objeto pasa por cordenada.y=540 crea.una.instancia , pues ya no me funciana ,es como si se ubiera deshabilitado
Hola buenas tardes:
Los objetos se mueven en pixeles por cada step. La velocidad determinará en que pixel sera posicionado el objeto. Si el objeto esta posicionado en la y=535 y su velocidad vertical es 7 entonces la siguiente posición será y=542 y nunca será y=540. Por lo tanto la condicion if(y=540) será false y nunca producira efecto. Quizas modificastes la velocidad vertical, Pero si aun quieres conservar esa velocidad entonces tendrás que crear otro método para producir el mismo efecto.
Att. Reyes Davila
Hola dixon2010,si algo se me ha modificado mirare a ver si es la velocidad no se me avía ocurrido gracias por contestar, en cuanto llegue lo mirare
Nada la desepercacion a inundado mi room ,he llegado a eliminar todo menos un if donde me genra una instancia nueva la cual sigue sin funcionar ,arranco un proyecto nuevo y lo mismo me funciona ,como abre deshabilitado las coordenada y.x.
Al final empiezo de nuevo ,a partir de hoy me toca hacer respaldos
Hola Ikaro3d
Podrías mostrarnos el código para ver lo que intentas hacer?? Quizás tienes algo mal escrito.
Las coordenadas X e Y son relativas al objeto que está corriendo el código, si estás corriendo el código en otro objeto, no funcionará.
Si quieres tomar las coordenadas X e Y de un player, debes correr el código en ese objeto player.
Si por el contrario, estás corriendo el código en un objeto control y quieres tomar las coordenadas de otro objeto, tienes que usar: <object name>.x (sin los signos)
Ejemplo: Si mi objeto se llama "obj_player", yo uso obj_player.x para tomar su coordenada X.
Si tienes dudas, puedes editar el DRAW EVENT de tu objeto y hacer que te dibuje sus coordenadas.
draw_text(0,0,x)
draw_text(0,16,y)
Saludos
Saludos
hola buenas tardes BssString ,resulta que me a estado funcionan todo correctamente , tengo puesto que cuando un objeto pase y colisiona con un cuadrado que representa el mar ,me crea una instancia con una animación de una salpicaduras ,hace una par de días se acerco mi hijo de tres años y se lio a tocar las teclas ???
pues el casa es que lo he llegado a borrar todo en ese mimo proyecto y he dejado solo el if que cuando se encuentre en la posición y 200 me generes la instancia mi velocidad es de 10 a si que cuadra y no me funciona
al crear nuevo proyecto hago todo exactamente lo mismo y me funciona ,eso significa que en el proyecto que no me funciona hay algo deshabilitado
Hola Ikaro3d
Duda: la velocidad de 10 es vertical? O diagonal? Porque si te mueves 10 pixeles en diagonal, en "y" no avanzas los 10 pixeles... avanza menos
Sino es eso, lo único que se me ocurre es que en la room estás creando la instance en una "y" que no es multiplo de 10.
Creo que las rooms de game maker por defecto se dividen en múltiplos de 32, si creas la instance en una coordenada rara, tu "y" jamás será 200.
Lo reitero, para salir de cualquier duda, lo mejor que puedes hacer es dibujar como texto en el evento de dibujo para que te muestre la "y" del objeto en pantalla, así sabes en todo momento cual es el valor que toma la variable "y" mientras vas caminando
Lo has bordado es la maya que esta a 32 y la nave no encaja, estaría en alguna posición impar en su inicio y a si nunca se encontraban ,GRACIAS !!!!
Que bueno que hayas encontrado la solución.
PD: Excelentes dibujos man.