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 - nonoroman

241
Efectivamente, con la variable global, puedes hacerlo sin problemas.

Cita de: Zapdos43 en Agosto 16, 2017, 12:15:23 PM
Puedes crear una variable global.

Por ejemplo, en el Create event del Jefe cazador:

global.borrado = false;

En el evento Destroy:
global.borrado = true;

Luego en el objeto NPC  comprueba si global.borrado es true:
Evento Step:
if (global.borrado)
{
instance_destroy();
}

242
Buenas familia. Otra vez ando por aqui.

Pues vengo con un pequeño problema, a ver si entre todos encontramos solucion.

Tengo una camara de vigilancia, que va girando de izquierdas a derecha, hasta aqui todo bien. (11 sprites)

El caso es que cuando, la camara ve al player, esta entra en modo alerta, cambiando el sprite a uno con un led rojo, etc. En este momento la camara se queda fija en una posicion, ya que en este sprite solo tiene una imagen.

El caso, es que la camara, al pasar unos segundos y ver que la alerta era falsa, pasa de nuevo a su estado de vigilancia, dando giros de izquierda a derechas.

el caso, esta en la transicion de cuando esta en alerta y pasa a estar en vigilancia, porque el sprite de vigilancia, salta la imagen 0, de las 11, y da un salto no muy agradable la camara.

He probado, al probar en el momento en el que cambio de sprite, a poner justo despues image_index = 1; que es donde me interesa que comienzo para suavizar la transicion de un estado a otro.
Pero el resultado es que se ve como comienza en la imagen 0 y salta rapidamente al 1, pero claro, ese salto queda feo.

la cuestion esta, en como pasar, a esa animacion, compuesta por 11 sprites, y que comience directamente desde la imagen que yo le indique, y que continue respectivamente desde esta.

No se si me he explicado bien, jejejeje.  :-[

Bueno espero que entre todos podamos resolverlo. Seguro que alguien sabe algun truquillo.

Saludos y gracias de ante mano.  ;)
243
Segun entendi.

Cuando pinches.con una variable que se ponga en true. Quitale a image_alpha -= 0.05
Mientras sea mayor a 0.

Y cuando sea = 0. Entonces pasale a alpha 0.5;

No se si me he explicado. Suerte.  ;D
244
Muchas gracias por responder.

Eso mismo estaba probando, pero mi fallo estaba en que el draw_line lo tenia puesto en el step, y claro. No se dibujaba.

Mañana lo pruebo y a ver si viendolo, lo puedo ajustar bien.

Muchas gracias!!!  ;)
245
En el evento mouse de dicho objecto. En el press mouse. Escribe la accion a realizar.

Suerte!!  ;D

[4quote author=Kefe link=topic=29310.msg128780#msg128780 date=1502390454]
Buenas, quería saber como hacer para que, al mantener presionado un objeto con el click izquierdo, ocurra alguna acción.
De antemano gracias.   :-[
[/quote]
246
Buenas a todos. Resulta que estoy utilizando colision_line para comprobar si un enemigo me ve o no y si tengo algun obstaculo entre ambos etc.

De momento mas o menos me funciona. Pero mi pregunta es la siguiente.

Para hacer unas pruebas, como podria ver realmente la linea del colision_linea. Porque esta es invisible. Hay alguna forma de hacerla visible??

Saludo a todos y gracias!!!  ;D
247
Preguntas y respuestas / Re:REESCALADO DEL SHADER
Agosto 04, 2017, 09:31:36 PM
Pues bueno, traigo mas pruebas.

Acabo de probar el shader en un HTC con una resolucion 1280x720, es decir, la misma que el S3 que es donde funciona perfecto.
Pues vale, el caso, es que aqui tambien se corta el fondo del shader.

Cual es la diferencia?? entre el HTC y el S3?? si realmente usan la misma resolucion?? Porque se recorta el shader???

Pues la diferencia es, que el S3 su pantalla es casi cuadrada, 4,8" mientras que el HTC es de 5" mas alargada.

Y es eso lo que debo producir el error en el shader. Ahora me pregunto.

Como puedo evitar esto??  ???

Por favor si alguien sabe algo que me ayude!!!! Os paso el codigo que utilizo para el reescalado.

if (os_type == os_android)
{

    //COGE LA RESOLUCION DEL DISPOSITIVO
   
    var displaywidth = global.displaywidth; //display_get_width();
    var displayheight = global.displayheight; //display_get_height;
   
    // COGE EL TAMAÑO DEL GUI
   
    display_set_gui_size(displaywidth, displayheight);
   
    // COGE EL TAMAÑO DEL JUEGO O VENTANA
   
    window_set_size(displaywidth, displaywidth);
   
    //COGE LA RESOLUCION DEL JUEGO
   
    var basewidth = global.displaywidth;
    var baseheight = global.displayheight;
   
    //COGE EL RATIO
   
    var aspect = basewidth/baseheight;
   
    //AJUSTA EL TAMAÑO
   
    if (displaywidth >= displayheight)
    {
        var height = min(baseheight, displayheight);
        var width = height * aspect;
    }
   
    //  REDIMENSIONA EL SURFACES AL NUEVO VALOR
   
    surface_resize(application_surface, width, height);

}


Por favor si alguien sabe algo que comente!!!  ??? ???
248
Preguntas y respuestas / REESCALADO DEL SHADER
Agosto 04, 2017, 07:31:15 PM
Buenas familia, otra vez ando por aqui.

Resulta que me he pillado un shader de la pagina oficial de yoyogames, en concreto el CRT Monitor Shader.

https://marketplace.yoyogames.com/assets/3060/crt-monitor-shader

Lo he personalizado un poco a mis necesidades y bueno, todo bien.

El problema esta en el re-escalado del shader;

En el PC se ve todo perfecto, con una resolucion de 1440x900 y un ratio de 1,6

Y lo he probado en un samsung S3 de una resolucion de 1280x720 y un ratio 1,778 y se encuadra perfecto.

Pero al probarlo en el samsung s7 de una resolucion de 1920x1080 y un ratio 1,778 (el mismo que el s3) el fondo del shader sale recortado un poco por el lado derecho y por abajo.

He mirado 1586 cosas, y probado cambiar el re-escalado, y no hay manera humana posible.

Y la pregunta es, si en el Pc sale perfecto y en el S3 tambien sale perfecto, porque jodido en el S7 que tiene el mismo ratio que el S3, no se encuadra bien?? no lo entiendo!!!

Si alguien sabe algo que me ayude please!!!  ???
249
General / Re:DONDE PUEDES PUBLICAR TUS JUEGOS
Julio 31, 2017, 04:14:55 PM
Buenas, estoy intentando publicar mi juego en itch io, y en ningun momento me sale el boton para publicar definitivamente.

Lo he introducido todo, he personalizado el aspecto, pero se queda siempre en el boton draft donde tendria que salir el boton de publicar.

Alguien sabe porque me ocurre esto??
250
Preguntas y respuestas / Re:EMPUJAR CARRETA
Julio 26, 2017, 01:35:34 PM
Bueno pues ya esta solucionado!!!!

Increible lo que era.... resulta que para caminar, lo puse a 1.50 pixeles cada paso y claro al colisionar con la carreta se quedaba 0.50 pixeles en la nada. Con lo que no funcionaba.

Lo que no se es porque por el lado derecho siempre funcionaba.

Bueno da igual. Problema resuelto. Un maquina YO!!!  ;D jejeje
251
Preguntas y respuestas / Re:EMPUJAR CARRETA
Julio 25, 2017, 10:53:10 PM
Ya se cual es el principal error.

Cuando la posicion del eje x del player, no es un numero exacto, es decir, cuando es con decimales, por ejemplo, 122,50 entonces es cuando no puede empujar a la carreta.

alguien me puede decir como solventar esto??? tiene que haber de algun modo,

quizas chequeando la posicion de x y si esta es *,50 le añado le quito esa media decima y lo dejo exacto.

como podria comprobar estas decimas?? Alguien sabe algo???  ???
252
Preguntas y respuestas / Re:EMPUJAR CARRETA
Julio 25, 2017, 10:32:20 PM
Muchas gracias geminis, lo he probado pero va dando como saltitos, el codigo que yo tengo es super realista, pero solo falla de vez en cuando a la izquierda, a ver si alguien da con el error.

Gracias de todos modos.  ;)

Cita de: 3dgeminis en Julio 25, 2017, 08:10:59 PM
Tengo una forma de hacerlo, primero quita cualquier codigo que tengas en el objeto carreta. Todo el codigo estara en el objeto del jugador o player:
CREATE
[gml]
vx=0
[/gml]

STEP
[gml]
vx=(keyboard_check(vk_right)-keyboard_check(vk_left)) //nos dice si se mueve a la derecha(1) o izquierda(-1) o no se mueve(0)

repeat(4) //4 es la velocidad con la que se mueve el jugador
    {
     if keyboard_check(vk_alt) { if place_meeting(x+vx,y,carreta) { with(carreta) {x+=(other.vx*4)} }} //se mueve la carreta a la misma velocidad que el jugador
     if !place_meeting(x+vx,y,carreta) {x+=vx} //aqui movemos al jugador si no colisiona con la carreta
    }
[/gml]

Si no queda claro algo del codigo pregunta.
Te aconsejo no usar objetos SOLIDOS y no usar mascaras con colisiones precisas, mascaras rectangulares o circulares seria lo ideal.
253
Preguntas y respuestas / EMPUJAR CARRETA
Julio 25, 2017, 01:05:05 PM
Bueno familia, otra vez ando por aqui.

El caso es que llevo varias semanas liado con un problema que no entiendo que ocurre.

A ver, el tema esta en tratar de empujar una carreta. El caso es que me funciona perfecto, pero a veces, cuando la empujo del lado derecho hacia la izquierda, a veces no lo hace y otras si.

He estado haciendo pruebas, muchas pruebas para averiguar que pasa, y he descubierto las siguientes cosas;

- Una, el fallo ocurre cuando el player llega por el lado derecho de la carreta, nunca ocurre por el lado izquierdo. (cuando todo esta igual configurado, tanto para un lado como para el otro)

- Dos, el fallo ocurre cuando el player llega corriendo a la carreta (el sprite de correr ocupa mas pixeles que el sprite andando, pero en realidad para las colisiones estoy usando una mask, independiente del sprite)

- tres, he estado midiendo la distancia de la x entre la carreta y el player, y lo que ocurre, es que cuando llega corriendo y se produce el fallo (porque no siempre se produce, solo a veces) la distancia del eje de la x entre el player y la carreta es de 0.50 pixeles menor que cuando no se produce el fallo, es decir, que se cuela medio pixel y se produce el error.

Esto porque ocurre??? y como puedo evitarlo???

He probado con la precision colision, he probado en separar la mask del sprite, he probado mil cosas, y nada. no hay manera.

Alguien me puede ayudar???

Os paso el codigo donde se realiza el empujar a la carreta;

if not place_free(x,y+1)
{
    if keyboard_check(vk_alt)
    {
        if keyboard_check(vk_right) and place_meeting(x-1.55,y,objectPLAYER) //AQUI VA LA DISTANCIA DESDE EL PLAYER AL CARRITO
        {
            if place_free(x+1,y) and (objectPLAYER.izq = 0)
            {
                x += 1;
               
                with (objectPLAYER)
                {
                    empuja = true;
                    x += 1;
                    sprite_index = spriteEMPUJAR_DER;
                    image_speed = 0.2;
                }
               
                if !audio_is_playing(soundCARRITO)
                {
                    audio_play_sound(soundCARRITO, 1, 1);
                    //ESTE SONIDO SE PARA EN EL STEP DEL PLAYER
                }
               
            }
        }
        else if keyboard_check(vk_left) and place_meeting(x+1.55,y,objectPLAYER)
        {
            if place_free(x-1,y) and (objectPLAYER.der = 0)
            {
                x -= 1;
               
                with (objectPLAYER)
                {
                    //draw_text(view_wview/2,view_hview/2,string("empuja bien izquierda"));
                    empuja = true;
                    x -= 1;
                    sprite_index = spriteEMPUJAR_DER; //PONGO SPRITE HACIA DERECHA CUANDO REALMENTE ES A LA IZQUIERDA, PORQUE EL MISMO OBJECTOPLAYER, EN EL STEP
                                                        //TIENE PROGRAMADO, PARA QUE ESTE VUELVA EL SPRITE CUANDO CAMBIA DE DIRECCION
                    image_speed = 0.2;
                }
               
                if !audio_is_playing(soundCARRITO)
                {
                    audio_play_sound(soundCARRITO, 1, 1);
                    //ESTE SONIDO SE PARA EN EL STEP DEL PLAYER
                }
            }
        }
        else
        {
            objectPLAYER.empuja = false;
        }
    }
   
   
   
    else
    {
        objectPLAYER.empuja = false;
    }
}


Por cierto, esta carreta, es hija de otra carreta, no se si esto influira, al retocar sus parametros respecto a la carreta madre.

Por cierto, cuando el player gira a la izquierda, no se usa otro sprite, sino que mediante programacion, giro el sprite del player, no se si esto influira, pero creo que no, ya que como os dije antes, utilizo una mascara independiente del sprite para probar las colisiones.

Bueno, espero que podamos dar con el error, porque llevo varias semanas y ya me estoy volviendo loco!!!  ???

Saludos y gracias de ante mano.

254
Neto Maker no entiendo tu respuesta. Yo ya uso una surfaces pero, como podria ajustarla como dices??

Por cierto clamud, dices que puede haber una extension para ello?? Cual seria?? Alguien sabe algo mas??

Gracias a todos por responder.  ;)
255
Buena familia, vengo con una pregunta simple, a ver si alguien sabe algo.

Es la siguiente;

Alguien sabe como al cargar el juego en el dispositivo movil, como podriamos forzar el nivel de brillo de la pantalla al maximo o al menos a un nivel alto, para asi tener una mejor experiencia en el juego.

Alguien sabe si esto es posible con el GMStudio???

Bueno, saludos y abrazos a todos!!!  ;)