Bueno, hola, soy novato y es algo básico, lo sé, pero tengo un problema.
Sucede que estoy haciendo un juego de plataformas y tengo tiles de 32x32, y objetos invisibles. Sucede que no puedo colocar estos objetos invisibles para que se pongan en el cuadrado de 32x32 y se me colocan 16x16 en cada esquina.
Lo curioso comienza cuando pruebo para ver como reacciona un objeto y, para verlo mejor, pongo que estos sprites invisibles sean rojos para saber bien como van las colisiones, y en este caso sí se ponen en el cuadrado entero (ya los había puesto antes y se cambiaron solos). Las colisiones van bien, entonces pruebo a cambiar de nuevo por el sprite invisible y se vuelve a poner el las 4 esquinas. Yo digo "bueno, a ver, quizás sólo parezca eso", pero no, ya que al probar el juego, el objeto de prueba no se mueve.
PD: Si me explican como poner imágenes en este foro las puedo poner para que me expliquen qué es lo que ocurre.
PD2: Código Step del objeto:
//comprobación de colisiones
if !place_free (x + 2,y) //si hay una pared, dirección contraria, cambio de imagen
{
if hspeed = 2
{
image_xscale = -1
hspeed = -2
}
else
{
image_xscale = 1
hspeed = 2
}
}
if !place_free (x, y + 2) //colisión vertical
{
vspeed = 0
}
else
{
vspeed = 2
}
Es difícil entender tu problema. Sube imágenes que lo expliquen mejor, e insértalas escribiendo esto:
Citar
[img]http://elservidor/tuimagen.png[/img]
Cita de: NiuWeb en Septiembre 03, 2017, 09:11:00 PM
Es difícil entender tu problema. Sube imágenes que lo expliquen mejor, e insértalas escribiendo esto:
Citar
[img]http://elservidor/tuimagen.png[/img]
¿Pero y si tengo las screenshots en mi PC?
Adjúntalas entonces.
(https://image.prntscr.com/image/uxcx2kz1Qy2pJGpR8nKO0A.png)
Gracias por la información.
Una imagen muestra los distintos sprites que tengo desarrollados (el que quiero usar es el sprite9, el que uso de prueba es el sprite10).
La segunda muestra el resultado de poner los objetos con el sprite10 (los objetos sólidos).
La tercera muestra que, sin ningún cambio más que el cambio de sprite, se desplaza la colocación del objeto (está marcado por los límites del mismo).
Espero lograr solucionar esto, pues el objeto de prueba no se mueve en la tercera imagen pero si en la segunda.
Revisa las coordenadas del sprite transparente (sprite9), tal vez sean diferentes a las del sprite rojo (sprite10) y por ello el desplazamiento en la cuadrícula.
Muchas gracias, lo que ocurría era eso, tenían diferente punto de origen, ahora ya funciona como debería. ¡Gracias!
Si logro entender bien lo que mencionas, creo que tienes problemas para poner el sprite de lo que podríamos llamar suelo/pared contra el sprite que se encarga de ver las colisiones, de ser este el problema se me ocurre estas posibles soluciones
1.- Para empezar deberías darle un resumen a tu sprite y objeto, muchos escribimos spr y obj seguido de un _ antes de mencionarlo ejemplo: spr_Bola obj_Bola, esto te ayudara a buscarlo d forma mas fácil y también te permitirá escribir un código mas fácil de entender.
(https://i.gyazo.com/bebfd581d0c6305783294050bd0a869c.gif)
2.- Si el juego es muy pequeño, puedes volver solido al objeto suelo/pared para ahorrarte código.
(https://i.gyazo.com/7b70ed6139a1fc32b0b83e55770ec170.gif)
3.- Usa Tiles para todo lo que es visualmente estático (lo que no se mueve), esto se hace con el backgrounds, ya que si pones objetos sin códigos encima de otros,terminaras lleno de objetos que no te sirven y que a su vez te ocupan recursos.
(https://i.gyazo.com/17f486117bfd00b8aa6dcbe90ee7a8a6.gif)
4.- Aquí tengo un juego plataformero para que se haga una idea.
http://www.comunidadgm.org/juegos-en-desarrollo/red-heart-(demo)/
5.- Vea tutoriales de game maker studio, encontrara mejores ejemplos de los que puedo dar con mi poco conocimiento ;).