Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: eams1986 en Mayo 03, 2014, 09:37:07 PM

Título: ayuda con la bola en la room.
Publicado por: eams1986 en Mayo 03, 2014, 09:37:07 PM
amigos Makeros . ayuda alguna idea para este caso

tenia una mente

*1:era poner un objeto para desabilitar la velocida pero no da por que la bola sale disparada y entonces  hay se quedaria y no seguiria 
Título: Re:ayuda con la bola en la room.
Publicado por: Marth en Mayo 03, 2014, 10:44:14 PM
¿Lo que quieres es que el objeto "pelota" si colisiona con "barra" no pueda efectuar acciones de movimiento?
En ese caso, te sugeriría que usases una función como place_meeting.
Por ejemplo: if(!place_meeting(x,y,barra){instrucciones...}
Título: Re:ayuda con la bola en la room.
Publicado por: eams1986 en Mayo 03, 2014, 11:14:48 PM
la raya azul seria imajinaria y dime donde lo pondrias este codigo.
Título: Re:ayuda con la bola en la room.
Publicado por: penumbra en Mayo 03, 2014, 11:21:52 PM
Pero más bien sería que de la raya azul hacia arriba no se pudiera arrastrar la pelota, ¿no? Es un simple chequeo de coordenadas, el creo que iría en step

Algo así [STEP]:

var alto = display_get_gui_height();
if x < (alto * 0.75)
{
     grabbed = false;
}
Título: Re:ayuda con la bola en la room.
Publicado por: eams1986 en Mayo 03, 2014, 11:24:53 PM
eso es penumbra..
Título: Re:ayuda con la bola en la room.
Publicado por: eams1986 en Mayo 03, 2014, 11:29:51 PM
como  lo aria Penumbra.



esto tengo en
/////create
xpart=0;
ypart=0;
direction=0;
speed=0;
friction=0.5;
grabbed=false;

//stepp
if grabbed=true then
{
  x=mouse_x-xpart;
  y=mouse_y-ypart;
  friction=0;
}
else
{
  friction=0.5;
}


///end step
if grabbed=true then
{
  if not mouse_check_button(mb_left) then
  {
    grabbed=false;
    direction=point_direction(xprevious,yprevious,x,y);
    speed=point_distance(xprevious,yprevious,x,y)/2;
  }
}
if speed>30  then
{
  speed=30;
}

////left pressed

grabbed=true;
speed=2;
direction=0.5;
xpart=mouse_x-x;
ypart=mouse_y-y;

haaa una cosa aparte cuando lo pruebo en html funciona bien
pero cuando lo pruebo en andrid la pelota como que se queda trabada al momento de deslizarla  que sera
Título: Re:ayuda con la bola en la room.
Publicado por: eams1986 en Mayo 04, 2014, 06:54:02 AM
penumbra cuando pongo ese codigo  la pelota se mueve pero para un lado pero tengo que estarla tocando y se mueve como 5 pixeles.
Título: Re:ayuda con la bola en la room.
Publicado por: eams1986 en Mayo 05, 2014, 05:47:56 AM
No funciona el codigo.
Título: Re:ayuda con la bola en la room.
Publicado por: penumbra en Mayo 05, 2014, 06:18:50 AM
Uff, qué torpe. no debe ser una x, debe ser una y (en la condición), Jeje. perdón.  XD

var alto = display_get_gui_height();
if y < (alto * 0.75)
{
     grabbed = false;
}

Y la bola se va para un lado no por culpa del código que puse, que no interfiere con la dirección de la bola. El código que estás usando no está del todo bien. Después de soltarla la bola  se va hacia un lado por la manera en que se se calcula la dirección (más bien, no la manera, sino el evento o momento donde se calcula)
direction=point_direction(xprevious,yprevious,x,y);
que casi de inmedianto xprevious y x son iguales, lo mismo pasa con y e yprevious, lo que hace que point_direction() devuelva 0, y la dirección 0 es igual a moverse a la derecha.

Probé a usar tu código original (copiando y pegando, sin agregarle lo que yo había puesto) y la bola se va hacia la derecha al soltarla
Título: Re:ayuda con la bola en la room.
Publicado por: eams1986 en Mayo 05, 2014, 04:40:34 PM
Gracias PENUMBRA funciona bien ,
Ahora como funciona este codigo (alto * 0.75)  si le pongo mas se queda trabada la pelota
la verda no se como es me gustaria poner un poquito mas alto ya que hay poco espcio para lanzar la bola.
Título: Re:ayuda con la bola en la room.
Publicado por: vampy09 en Mayo 05, 2014, 09:41:28 PM
La variable alto recibe el valor que la función display_get_gui_height(); devuelva.
Osea tomara el valor de la altura (height) del GUI.

if y < (alto * 0.75)

Esto quiere decir: si el valor de y es menor al 75% de alto del GUI.

Por tanto si aumentas el valor de esta multiplicación estaras reduciendo el espacio permitido para que el objeto sea "grabbed" y por tanto pueda ser lanzada.

Ejemplo:
alto * 0.5 //mitad del alto, osea 50%
alto * 0.25//un cuarto del alto, osea un 25%
Título: Re:ayuda con la bola en la room.
Publicado por: eams1986 en Mayo 06, 2014, 06:12:00 AM
Gracias Vampy.