Mostrar Mensajes

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


Mensajes - NiuWeb

Páginas: [1] 2 3 ... 6
1
Preguntas y respuestas / Re:color de efecto no cuadra
« en: Ayer a las 03:09:19 am »
espera, ¿queeeeeeeé? xDdXd.

A ver, que no panda el cúnico. Parece que a los de YoYo les ha dado por cambiar el funcionamiento de los colores en esa función a último momento, ni idea de por qué.

El "bug" sucede porque ahora los colores (por lo menos con effect_create_above, no he probado las demás ni quiero) se leen completamente al revés. Quiero decir, mientras que antes los tres bytes de un número entero se leían de izquierda a derecha como azul, verde y rojo, ahora es rojo, verde y azul.

Oséase, que si antes el rojo era 255 (00000000 00000000 11111111 en binario), ahora debería ser 16711680‬ (11111111 00000000 00000000).

Sinceramente, gran tontería me parece este cambio tan incómodo, pero es la última versión (1.4.9999) así que toca resignarnos xd.
Los siguientes usuarios dieron las gracias a este tema: Johann, kostra

2
Preguntas y respuestas / Re:alguien sabe como guardar en archivos .ini?
« en: Noviembre 14, 2018, 06:14:43 pm »
Qué mejor momento para spamear un viejo artículo xd.
Archivos INI, ¿qué son y cómo usarlos?

Ese post explica rápidamente todo lo que necesitas saber sobre archivos ini.
Los siguientes usuarios dieron las gracias a este tema: TruperMax

3
Preguntas y respuestas / Re:Dialogos simples
« en: Noviembre 14, 2018, 06:04:43 pm »
El error es lo que dijo Kostra: La variable mensaje es un arreglo, no un número en concreto, como se ve en esta pieza de código:
mensaje[0] = "Puerta#Hola :v"
mensaje[1] = "Tu#En serio, una puerta que habla?"
Por esa razón, no puedes hacer comparaciones de desigualdad con dicha variable, el error está aquí:
if (mensaje <1)
{mensaje +=1}
No puedes ni comprobar que un arreglo sea menor a uno, ni mucho menos puedes sumarle uno a un arreglo, eso sólo se hace con números.

mas que nada es porque no tengo idea de programacion  :'( :'(
Y ahí está el otro error. Realmente veo difícil que te podamos "ayudar" si no manejas nada de programación. Te recomiendo que estudies un poco de eso para que hablemos el mismo idioma y te podamos colaborar, que por lo que veo te estamos hablando en chino xd.
Los siguientes usuarios dieron las gracias a este tema: kostra

4
Utiliza este script:
http://www.comunidadgm.org/desarrollo-de-scripts/obtener-posicion-de-adjuntado/
Los siguientes usuarios dieron las gracias a este tema: Johann

5
Preguntas y respuestas / Re:Personaje estático mientras esta en el aire.
« en: Noviembre 12, 2018, 10:14:25 pm »
Primero que todo, me parece que tu código está bastante desorganizado en cuanto a la asignación de los sprites, vamos por ahí primero. La idea es simple; organizar el sprite que se asignará basándose en "casos" opuestos; véase, si está en el aire o no, si se mueve arriba o abajo, izquierda o derecha, etc.
//Primer caso: ¿está en  el aire o no?
if place_empty(x, y + 1) {
    //Si está en el aire
    if vspeed < 0 { //Si la velocidad es negativa (o sea, si va pa'rriba)
        sprite_index = main_char_up;
    }
    else if vspeed > 3 { //Si la velocidad es positiva y mayor que tres (o sea, si va pa'bajo)
        sprite_index = main_char_fall;
    }
}
else {
    //Si no está en el aire
    if hspeed == 0 { //Si el player está quieto
        sprite_index = sprite2; //Sprite de quieto
    }
    else if hspeed > 0 { //Si va pa'la derecha
        sprite_index = main_char_right;
    }
    else { //Si va pa'la izquierda
        sprite_index = main_char_left;
    }
}

Ahora bien, si lo que quieres es que el personaje reduzca su velocidad horizontal mientras esté en el aire, basta con que modifiques el código así:
var vv = v; //La velocidad horizontal (uso otra variable para no modificar el valor real de la velocidad)
if (sprite_index == main_char_up) or (sprite_index == main_char_fall) { //Si el personaje está en el aire
    vv = v/3; //La velocidad será un tercio de la original
}
if keyboard_check(vk_right) {
    hspeed = vv; //Es mejor que no uses 'speed' para evitar problemas con 'vspeed'.
    /*
   Tampoco vamos a usar 'direction'; es innecesaria en este caso y, de nuevo, podría
   dar problemas con 'vspeed'. En su lugar, es mejor ponerle signo negativo o positivo
   a la velocidad. Si es positiva va pa'la derecha, y si es negativa, pues pa'la izquierda
   */
}
//Izquierda
if keyboard_check(vk_left){
    hspeed = -vv; //Aquí se pone negativo porque va pa'la izquierda
}

Y listo, debería funcionar.

PD: Ese código es todo lo que necesitas en step, puedes reemplazar lo que ya tienes por esto, a excepción obviamente del código que genera la caída, la gravedad y el salto (sin dejar nada relacionado a los sprites aparte del código que te puse arriba).
Los siguientes usuarios dieron las gracias a este tema: wast

6
Preguntas y respuestas / Re:cifrar binarios
« en: Noviembre 03, 2018, 02:25:20 am »
Usa operaciones a nivel de bits para convertir esos 1 y 0 en un número (o unos números) decimal, que después sí puedes cifrar de alguna manera.
//Un montón de variables con 1 y 0
var a = 1;
var b = 0;
var c = 1;
var d = 1;
var e = 1;
var f = 0;

var num = (a<<5) | (b<<4) | (c<<3) | (d<<2) | (e<<1) | f;
//num vale 46, que es 101110 en binario.
Y ya luego cifra ese número como gustes. De hecho, hace poco hice este sistema simple en JS para cifrar texto y números, no debería ser muy complicado pasarlo a GML:
https://gist.github.com/NiuWeb/d9dd13de3518b287e537d4c6b320c607
Los siguientes usuarios dieron las gracias a este tema: Yuzo

7
Preguntas y respuestas / Re:Crear instancia en el centro de la room
« en: Febrero 11, 2018, 03:27:44 am »
sprite_get_width(sprite);
Los siguientes usuarios dieron las gracias a este tema: Yuzo

8
Preguntas y respuestas / Re:Comparar reloj online
« en: Febrero 10, 2018, 05:11:26 pm »
Usa alguna API (o un servidor propio) para obtener la hora en línea, y después léela asíncronamente con las funciones HTTP.
Los siguientes usuarios dieron las gracias a este tema: Yuzo

9
Preguntas y respuestas / Re:Forma más eficiente de dibujar
« en: Enero 30, 2018, 08:29:56 pm »
No uses tiles, usa una surface.
Los siguientes usuarios dieron las gracias a este tema: Yuzo

10
Preguntas y respuestas / Re:Forma más eficiente de dibujar
« en: Enero 30, 2018, 07:30:48 pm »
Tal vez podrías utilizar un arreglo bidimensional para guardar los colores de la imagen, y dibujarlos como pixeles en una surface sólo cuando el dibujo se actualice, para no redibujar cuadrito a cuadrito en cada step.
Los siguientes usuarios dieron las gracias a este tema: Yuzo

11
Preguntas y respuestas / Re:sorbe la programacion en si de Game maker
« en: Enero 17, 2018, 12:58:01 am »
Bueno, es porque eso es lo mejor. Las acciones Drag&Drop del GM están extremadamente limitadas con respecto a lo que este programa realmente puede hacer, por lo que si quieres hacer un buen juego, te recomiendo que te tomes el esfuerzo de aprender a programar.
Los siguientes usuarios dieron las gracias a este tema: Yuzo, Mental.Gif

12
Preguntas y respuestas / Re:sorbe la programacion en si de Game maker
« en: Enero 17, 2018, 12:36:15 am »
De hecho, Unity es mucho más complicado que GM.
Si el GML te parece muy complicado, ni hablar de C# que es con lo que trabaja éste.

Una cosa más: El uso de programación no "limita" al desarrollador, sino todo lo contrario. Sólo hace falta aprender.

PD: De entre todos los lenguajes de programación, el GML es de los más simples para hacer videojuegos.
Los siguientes usuarios dieron las gracias a este tema: Yuzo

13
Preguntas y respuestas / Re:Ehh no entiendo lo que pasa[Resuelto]
« en: Enero 14, 2018, 05:13:58 am »
Por esto:
Cita de: Manual oficial
First, you should realise that surfaces (except the application surface) are "volatile". This means that if the device or window loses focus or is minimised (good examples are when a screensaver comes up in Windows, or on an Android device when the app loses focus due to a call) then the surface may be destroyed. This is because it is stored in the texture memory and may be overwritten when the target platform needs that memory for something else which means that you should always have some type of fail-safe code in place, usually with the surface_exists function.

En español:
Cita de: Manual en español
Primero, es vital entender que las superficies (a exepción de la application surface) son "volátiles". Esto significa que si, por ejemplo, el dispositivo o la ventana es minimizada o pierde su foco, cualquier superficie puede ser destruida sin aviso previo. Esto es a causa de que las superficies se almacenan en la memoria de textura, y ésta puede sobreescribirsecuando la plataforma necesita dicha memoriapara algo más. Es por ello que es importante tener un código de "recuperación" o redibujado, acompañado de la función surface_exists().

http://docs.yoyogames.com/source/dadiospice/002_reference/surfaces/index.html
https://bygdle.xyz/gamemaker/manual/Referencia/Superficies/
Los siguientes usuarios dieron las gracias a este tema: Yuzo

14
Preguntas y respuestas / Re:Pregunta sobre GML
« en: Enero 01, 2018, 01:18:09 pm »
Diría que es estructurado y orientado a eventos, aunque también pueden usarse otros paradigmas como prog. funcional. Utiliza "propiedades" en los objetos, pero es un manejo muy básico, por lo que no creo que se le pueda considerar POO.
Los siguientes usuarios dieron las gracias a este tema: Yuzo

15
Preguntas y respuestas / Re:Ayuda segunda instancia mas cercana
« en: Diciembre 29, 2017, 02:19:29 am »
Usa colas de prioridad, utilizando como prioridad la distancia entre los objetos. Luego sacas dos veces el valor con menor prioridad.
http://docs.yoyogames.com/source/dadiospice/002_reference/data%20structures/ds%20priority%20queues/index.html

(PD: Sí, diije mucho "prioridad" :V)
Los siguientes usuarios dieron las gracias a este tema: Yuzo, elmmertonw

Páginas: [1] 2 3 ... 6