Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - Zapdos43

61
En el objeto de la manzana coloca estos códigos:
En el evento Create:
presionando= false; // variable para controlar las acciones

En el evento Step:

if mouse_check_button_pressed(mb_left) // si presiono boton izquierdo del mouse
   {
   if (mouse_x > x and mouse_x < x+sprite_width and mouse_y > y and mouse_y < y+sprite_height) // si las coordenadas del mouse están dentro del área del sprite de la manzana
     {
       image_blend = c_yellow; // coloreamos el sprite de la manzana
       if (alarm[0] < 0) // si la alarma 0 no está activada
       {
          alarm[0] = room_speed * 2; // multiplica por 2 si quieres esperar 2 segundos, multiplica por 10 para esperar 10 segundos, etc
          presionando= true;
     }
   }

if mouse_check_button_released(mb_left) // si dejamos de presionar el boton izquierdo del mouse
{
presionando= false;
}

if !(mouse_x > x and mouse_x < x+sprite_width and mouse_y > y and mouse_y < y+sprite_height) //el signo ! sirve para negar, en este caso si las coordenadas del mouse NO están dentro del sprite
{
presionando = false;
}



En el evento Alarm 0:

if (presionando) // si la variable sigue siendo "true" significa que no hemos soltado el boton izquierdo y que seguimos dentro del área del sprite
{
      instance_destroy();
}


Saludos.
62
Tal como dice TheWood usa la función draw_line indicando los mismos parámetros que usas en la función collision_line. Además, debes usar la función draw_line en un evento Draw y si quieres dibujar el sprite del personaje, deberás incluir la función draw_self().

Sería algo como esto:
Evento Draw:
draw_self();
draw_line(x1,y1,x2,y2);
63
En ese caso, te sugiero volver a un punto de restauración para deshacer estos cambios de Windows.
64
Preguntas y respuestas / Re:Duda con Paths
Agosto 09, 2017, 03:53:49 PM
Cuando un objeto empieza el path, lo hace desde la posición 0 del path. Cuando avanza el objeto, su posición cambia a 0.1, 0.2,...,0.9 hasta llegar al final del path, cuya posición es 1.

Puedes usar este código:

if (path_position == 1)
{
// hacer algo
}


Por otro lado existe un evento END OF PATH. Puedes acceder a este evento desde evento OTHER.
65
Las funciones "draw" solo funcionan en un evento DRAW.
66
Para aplicar un shader debes usar:

shader_set(nombre_del_shader);
draw_surface(application_surface,0,0)
shader_reset();


Si sigue viéndose grande, entonces el problema está en los cálculos del shader.
67
Preguntas y respuestas / Re:Qué versión de GM usar
Julio 31, 2017, 09:06:10 PM
En el foro de Yoyogame y en este foro hay soporte para ambas versiones de GM Studio. No te preocupes, puedes preguntar dudas de la versión 1.4 y de la versión 2.

Y sobre qué versión usar, sigue usando la versión que te funciona. Por ejemplo, la versión 2 está funciona solo para windows de 64 bits, por lo tanto si tienes windows de 32 bits es mejor mantener la versión 1.4.
68
Si vas a comprarlo hazlo desde la página oficial de yoyogames. Te creas una cuenta de usuario para hacer la compra.

Te dejo el link donde vienen los precios y más abajo vienen los requerimientos del sistema (GMS 2 funciona en Win de 64bit):
https://www.yoyogames.com/get

En cuanto a ese anuncio, Yoyogames ya no comercializa la versión GM Studio Professional edition / Master collection. No me fiaría mucho.
69
El problema está en el Step event porque quieres sumar algo a un array que no ha sido declarado. Me refiero a str[0].  Nos dará error porque no existía un valor previo para str[0].

Te paso el código corregido. (al solucionarlo encontré otro error cuando llegaba al final del diálogo, pues en el Draw event no encontraba el texto siguiente para compararlo con "_", la solución fue añadir otro texto[4] = "_" y ya se puede destruir el diálogo)

CREATE:
str = '';
i = 0;
txtnum = 0;
dem=0;

texto[0]="1111111111111111";
texto[1]="2222222222222222222222222";
texto[2]="3333333333333333333333333";
texto[3]="_";
texto[4]="_";


STEP:
/// Escribiendo el texto
if(i < string_length(texto[txtnum]))
{
    if(dem == 0)
    {
        str += string_char_at(texto[txtnum],i+1);
        i += 1;
    }
   
    if(dem > 0)
    {
        dem -= 1;
    }

    if(string_char_at(texto[txtnum],i+1) == '*')
    {
        dem = 20;
        i+=1;
    }
   
    if(string_char_at(texto[txtnum],i+1)='·' and dem=0)
    {
        i=0;
        str='';
        txtnum+=1;
    }
}

// Final de linea
if(texto[txtnum] <> '_'){
if(i == string_length(texto[txtnum]) and keyboard_check_pressed(ord('X'))){
  i = 0;
  str = '';
  txtnum += 1;
}
}else instance_destroy();


DRAW:
///Pintamos el cuadro de diálogo.
draw_sprite(sprBox,0,view_xview+8,view_yview+168);
draw_set_color(c_black);
draw_text(view_xview+16,view_yview+174,string(str));
if (texto[txtnum+1] <> "_" && i = string_length(texto[txtnum])){
   draw_sprite(Flecha,-1,view_xview+16+sprite_get_width(sprBox)-32,view_yview+218);
}


70
No sé que fin puede tener una room más pequeña que la view pero he probado el siguiente código y me ha funcionado en GM Studio :

Lo primero es entrar en las propiedades de la room:
Ancho de room = 96
Alto de room = 96

En la Pestaña Views:
Apartado View in room:
W=96;
H=96

Apartado Port on screen:
W=640
H=480

Luego creas un objeto que controlará la vista:

CREATE:
dw = view_wport[0]; // ancho de viewport
dh = view_hport[0]; // alto de viewport

ww = room_width; // ancho de la room
hh = room_height; // alto de la room

application_surface_draw_enable(false);
surface_resize(application_surface,ww,hh);


POST DRAW:
draw_surface(application_surface,floor(dw/2-ww/2),floor(dh/2-hh/2)); // dibujar la room en el centro
71
General / Re:Libro " La Aventura Indie "
Julio 29, 2017, 02:22:29 PM
Te expresas bien, sigue con tu redacción.  :)

Corrección ortográfica: Pasármelo bien en el desarrollo de un videojuego.
72
En la ComunidadGM hay un artículo que nos enseña lo fundamental de los shaders. Te paso el link:
http://www.comunidadgm.org/articulos/(programacion)-introduccion-elemental-a-shaders-en-gms/

Por otro lado, en el Marketplace de Yoyogames podrás encontra lotes de shaders gratuitos o de pago (supongo que podrás ver el código que hay detrás de cada shader). Te dejo un link de un lote gratuito (necesitarás tener un cuenta de usuario para descargar cualquier recurso):
https://marketplace.yoyogames.com/assets/261/free-shaders
73
Preguntas y respuestas / Re:Adcolony
Julio 25, 2017, 09:41:08 AM
Crea una variable que funcione como contador:

EVENTO CREATE:
toque = 0;

EVENTO STEP:
if keyboard_check_pressed(vk_left)
// si usas Móvil táctil creo que debes usar mouse_check_button_pressed(mb_left)
{
  if toque != 3
  {
    toque++;
    puntos += 300;
   }
}
74
General / Re:Cursos gratis de tecnologia
Julio 25, 2017, 08:47:05 AM
Esto es buenísimo!!
Gracias, Pixel.
75
Preguntas y respuestas / Re:puntuacion
Julio 24, 2017, 05:04:53 PM
Te dejo el siguiente enlace donde verás las equivalencias entre drag&drop y GML.
http://easygml.weebly.com/uploads/5/4/3/9/5439933/dd_icons_to_gml_ver_7.pdf

Está en inglés pero es fácil de consultar. Aunque está diseñado para la versión GM7, todavía es útil porque las pestañas apenas han variado en sus iconos.