Abril 30, 2017, 11:18:37 PM Ultima modificación: Mayo 02, 2017, 01:28:15 AM por agujakp0
Hola estoy haciendo un juego tipo terraria y en vez de instancias puse tiles para optimizar, ahora quiero saber si es pocible que de alguna manera colicione con esas tiles. :)
Gracias.
No te rindas :)

tile_layer_delete(-1000); el -1000 es la tile que tiene añadida osea la capa si la tile tiene profundidad diferente ese numero deberia de poner
Suerte!

Cita de: eams1986 en Mayo 01, 2017, 12:52:24 AM
tile_layer_delete(-1000); el -1000 es la tile que tiene añadida osea la capa si la tile tiene profundidad diferente ese numero deberia de poner
Suerte!
Es un dato util, pero el pregunto por la colision, no por eliminar las tiles :v
Creo que si es posible, pero yo desconozco como

eso mismo estaba viendo de la respuesta y no entendia que tenia que ver con la pregunta xD

Por favor si alguien sabe de esto responda   :-[
No te rindas :)

Cita de: agujakp0 en Abril 30, 2017, 11:18:37 PM
Hola estoy haciendo un juego tipo terraria y en vez de instancias puse tiles para optimizar, ahora quiero saber si es pocible que de alguna manera colicione con esas tiles. :)
Gracias.
Si algo aprendí de los backgrounds o tiles, es que solo se usan para dar un buen acabado visual a la hora de crear rooms, pues he visto que programadores expertos en   :GM8: y :GMS:, que solo crean el tiles y le colocan un objeto de colision invisible, programadores que llevan como 2-10 años como ginxu, monty drake, escuela de vídeo juegos, Adderly Céspedes etc.

Otro consejo es que veas un tutorial de como crear juegos caja de arena (sandbox)  :).

Tiene toda la razon mal.interprete la pregunta  :-X
A mi saber no creo que haya collision alguna  :D
Saludos !

Amigo esos tutoriales de youtube siempre usan la funcion de desactivar y activar objetos y si algo aprendi de ello es que a gran escala de objetos te relentizan todo el juego.
Ya prove mil maneras de implementarlo en mi codigo pero en un mundo de 127000 bloques no te lo aconsejo.
Tambien intente guardar las coordenadas de los bloques y los objetos en ds_list para asi poder poner esos bloques cuando los necesite como alternativa a la funcion instance_desactivate_region pero el problema es que las listas son del tamaño de la cantidad de bloques que hay en la room osea 127000 y por cada paso que daba tenia que buscar en la lista que bloques borrar y que bloques crear y eso me da tambien vastante lag , asi que desidi que en vez de usar intancias me las arreglo para que los tiles tengan colicion pero ahora me quede travado en eso . :-X
Si tenes alguna sugerencia de como se puede hacer por favor decimela o si queres que te de un editable que ise hace bastante tambien te lo puedo pasar
No te rindas :)



Gracias eams1986  :D


Se me ocurrio resolverlo con mp_grid ... que les parece?
No te rindas :)

Hay una forma y es encontrar la posicion en donde se encuentra un tile usando tile_layer_find
Por ejemplo al mover hacia la derecha seria asi:
[gml]
if !tile_layer_find(100,bbox_left-4,y) {x-=4}
[/gml]

GRACIAS! ahora mismo lo pruevo :D
No te rindas :)


Si , perdon por la tardanza xD
Funciona perfectamentente , asi q a los que digan que no se puede no le crean porque con ingenio siempre se puede  :D :D :D
Muchisimas gracias a todos y mas a 3dgeminis por sus contribuciones
No te rindas :)

#14 Mayo 05, 2017, 06:43:53 PM Ultima modificación: Mayo 05, 2017, 06:51:43 PM por Clamud
Adjunto un ejemplo. Para no usar tile_layer_find constantemente la posicion de las tiles se guarda en un array. El código quedó un poco complicado porque quería un comportamiento muy específico del jugador (la posicion de descanso siempre debe estar alineada a una rejilla y debe poder entrar en huecos pequeño cuando se mueve verticalmente a alta velocidad), pero se puede hacer mucho más sencillo.