les cuento, hay unos objetos en mi juego que cuando te acercas y presionas la letra e dependiendo del dinero que tengas se compra o no ok pero para hacer esto yo lo hice asi, cuando el jugador colosiona con el objeto:
if poder_electricidad = true{ //juger
if mejora_juger = false{
if keyboard_check_pressed(ord("E")) //Revisa que hayas pulsado E
{
var mas_cercana_juger = instance_nearest(x, y, V_Juger); //Recibe el ID del object8 más cercano
if distance_to_point(mas_cercana_juger.x ,mas_cercana_juger.y) < 32 && global.points >= 2500{ //Revisa mi distancia hacia el object8 más cercano y verifica que tenga dinero suficiente
global.points = global.points - 2500{
mejora_juger = true{
vida_maxima = vida_maxima + 75
vidas = 175
}
}
}
}
}
}
pero la colision no es perfecta como en las paredes, tambien intente hacer esto:
{if not place_meeting(x+velocidad,y,"nombre del objeto") {x+=velocidad}} ///mover derecha si no hay una pared
{if not place_meeting(x-velocidad,y,"nombre del objeto") {x-=velocidad}} ///mover izquierda si no hay una pared
{if not place_meeting(x,y+velocidad,"nombre del objeto") {y+=velocidad}} ///mover abajo si no hay una pared
{if not place_meeting(x,y-velocidad,"nombre del objeto") {y-=velocidad}} ///mover arriba si no hay una pared
pero cuando compro algo o pasa algo dentro del juego todos los objetos se compran ayudaaaa
resumen: que no se hacer que la colision sea perfecta sin que ocurra un error
¿El objeto V_Juger debe actuar como una pared? Puedes hacer que sea un hijo del objeto pared.
En el primer bloque de código creo que sobran llaves, así sería mejor:
[gml]
if poder_electricidad == true{ //juger
if mejora_juger == false{
if keyboard_check_pressed(ord("E")) //Revisa que hayas pulsado E
{
var mas_cercana_juger = instance_nearest(x, y, V_Juger); //Recibe el ID del object8 más cercano
if distance_to_point(mas_cercana_juger.x ,mas_cercana_juger.y) < 32 && global.points >= 2500
{ //Revisa mi distancia hacia el object8 más cercano y verifica que tenga dinero suficiente
global.points = global.points - 2500
mejora_juger = true
vida_maxima = vida_maxima + 75
vidas = 175
}
}
}
}
[/gml]
como hago que sea hijo del obj pared?
En el objeto que quieres de hijo, lo abres y a la izquierda encima de mask dice parent, ahí elijes el padre, es el padre el que se elige no el hijo :B
muchas gracias a los dos me funciona XD
Pos Ale, cartelito [Solucionado]
:B