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

61
Sííííííííí !!!!, por fin funciona !!!!!.

Dios santo, no sabes como te lo agradezco, te debo una cerveza !!!!.

y también he puesto esto al eliminar el objeto:
[gml]/// ELIMINA LA SURFACE
surface_free(global.oscuridad)[/gml]

Que en el ejemplo de 3DGeminis he visto que está y parece ser por lo que he leido por ahí que es algo necesario, por el tema de consumo de recuersos.

Lo que no entiendo es por que todo el mundo usa END STEP para el tema de las surfaces, yo uso el evento STEP y funciona, a que se debe ?, a decir verdad ni si quiera se muy bien como funciona el END STEP.

De todos modos, muchisimas gracias a todos por la ayuda y disculpad que haya tardado tanto en contestar, pero ultimamente ando extremadamente justo de tiempo.

GRACIAS !!!!
62
Preguntas y respuestas / Re:Esto me pasa por tonto
Diciembre 03, 2017, 09:20:11 AM
Puedes hacer una captura de pantalla cuando el texto se muestre en ella.

Luego, con esa imagen te vas a una pagina llamada "WhatTheFont", es una pagina que sirve precisamente para eso, a partir de imagenes intenta averiguar que fuente es, o te encuentra similares en caso de no lograr identificarla.

Espero haberte podido ayudar.

Un Saludo.
63
Cambiado, sigue sin funcionar.....

De todos modos gracias por la ayuda.

A ver si alguien es capaz de resolverlo.....

Gracias de antemano a los que vengan y gracias a los que lo han intentado tambien.
64
Nada, que no sale, lo he probado todo chicos, todas vuestras ideas, y más cosas que se me iban ocurriendo.

No tengo ni idea de por que me pasa esto.

Comparto el proyecto a ver si alguien sabe donde está el error.
65
Gracias 3DGeminis, mirando tu codigo no entiendo que es lo que me funciona mal.

Sí, Markus, esta tal que así:

[gml]// CREA LUZ SOBRE LAS BALAS
with(ob_player_bullet){
draw_set_blend_mode(bm_subtract)                // modo de dibujar "EXTRAER"
draw_sprite(spr_luz_1,0,ob_player_bullet.x,ob_player_bullet.y)// Lo coloca sobre las balas
}[/gml]

NONOROMAN, como se hace eso ?, suena interesante, aun que no se si lo resolverá.

Estoy dandole vueltas y vueltas y he pensado que tal vez se trate de que tengo un objeto en la room que tambien modifica una surface, tal vez sea que entra en conflico con este.

Tiene lo siguiente:

OBJETO LUCIERNAGA:

CREATE:
[gml]/// PROPIEDADES

escala_x        = 0;                // variable que controla la escala X (tamaño del sprite)
escala_y        = 0;                // variable que controla la escala Y (tamaño del sprite)
tamano_luz_x    = 0;                // variable que controla el tamaño de la luz en X
tamano_luz_y    = 0;                // variable que controla el tamaño de la luz en Y

// PROFUNDIDAD
depth = choose(-2,-1,0,1,2,3);

// DIRECCION
direction = irandom_range(0,360);[/gml]

STEP
[gml]
/// LUZ EN SURFACE

// CREA LA LUZ SOBRE LA LUCIERNAGA
surface_set_target(global.oscuridad)            // llama a la surface
draw_set_blend_mode(bm_subtract)                // modo de dibujar "EXTRAER"
draw_sprite_ext(spr_luz_1,0,x,y,tamano_luz_x,tamano_luz_y,0,1,1)  // dibuja el sprite de luz
draw_set_blend_mode(bm_normal)                  // deja el modo de dibujo en normal
surface_reset_target()                          // cierra la surface
[/gml]

DRAW
[gml]
/// PROPIEDADES

// DIBUJA EL SPRITE ORIGINAL
draw_sprite_ext(spr_luciernaga,0,x,y,escala_x,escala_y,0,c_white,1)

// LO HACE BORROSO
draw_set_blend_mode(bm_add)

// DIBUJA EL SPRITE DIFUMINADO
if global.pause == false and global.magia_on == false{
draw_sprite_ext(spr_luciernaga_des,0,x,y,escala_x,escala_y,0,c_white,alpha_level)}

// ESTABLECE EL MODO DE BLEND EN NORMAL
draw_set_blend_mode(bm_normal);
[/gml]

66
3DGeminis, sigue sin funcionar.

Markus, así funciona, pero sólo funciona en un objeto por room, es decir, si hay dos balas o más, sólo la primera que se creó tiene el efecto de luz.

No hay algo que se le pueda poner al objeto bala para que el efecto se haga desde el propio objeto ?, creo que sería mejor, y que usaría menos recursos, no ?.

En un fallido intento de hacerlo de dicha manera puse esto en el evento STEP del objeto bala:

[gml]/// LUZ EN SURFACE

// CREA LA LUZ SOBRE EL ATAQUE
if room == lvl_4 {
surface_set_target(global.oscuridad)            // llama a la surface
draw_set_blend_mode(bm_subtract)                // modo de dibujar "EXTRAER"
draw_sprite_ext(spr_luz_1,0,x,y,1,1,0,1,1)      // dibuja el sprite de luz
draw_set_blend_mode(bm_normal)                  // deja el modo de dibujo en normal
surface_reset_target()                          // cierra la surface
}[/gml]

Pero nada, así tampoco funciona, ya no se que hacer .....
67
Lo probaré y te cuento, gracias 3Dgeminis
68
Practicamente no hay efecto de substact, es como si no existiera, no se que hacer.

Será que no puede hacer nada sobre la surface otro objeto mas que el que la creó ?.
69
El caso es que van a ser muchos los objetos que tienen que usar el substract, y no estan en pantalla aun, como por ejemplo la bala, items, magias, etc.

he intentado poner esto al objeto bala en su evento STEP, pero no funciona, no se por que:

[gml]/// LUZ EN SURFACE

// CREA LA LUZ SOBRE EL ATAQUE
if room == lvl_4 {
surface_set_target(global.oscuridad)            // llama a la surface
draw_set_blend_mode(bm_subtract)                // modo de dibujar "EXTRAER"
draw_sprite_ext(spr_luz_1,0,x,y,1,1,0,1,1)      // dibuja el sprite de luz
draw_set_blend_mode(bm_normal)                  // deja el modo de dibujo en normal
surface_reset_target()                          // cierra la surface
}
[/gml]

En realidad es muy curioso por que parece que funcionar funciona, pero es apenas apreciable.

Alguna ayuda ?.

Gracias.
70
me estas diciendo que puedo jugar lo que yo estoy haciendo en mi xbox one ?, en serio ?, pero su sistema estara cerrado, no ?
71
Saludos !

He estado muy ocupado ultimamente y tenía mi proyecto bastante abandonado, ahora tengo unos dias y quiero meterle muchas horas, el caso es que llevaba tiempo pensando en como hacer una room sin iluminación y usar el tipico efecto linterna con SURFACES.

El jugador se me ilumina sin problemas, pero el problema viene cuando quiero que las balas también tengan su luz propia.

Como cada bala se llamará igual, en este caso "ob_player_bullet", supongo que no puedo dar las coordenadas del objeto en sí, si no su ID, pero nunca he usado ID´s, así que no se como funciona, y menos si el objeto no se ha creado aún.

De momento expongo mi código del objeto que controla la surface:

EVENTO CREATE:

[gml]///PROPIEDADES

// CREA LA OSCURIDAD
oscuridad=surface_create(room_width,room_height)[/gml]

EVENTO STEP

[gml]///PROPIEDADES

// DIBUJA LA OSCURIDAD
surface_set_target(oscuridad)                   // llama a la surface
draw_set_color(c_black)                         // establece el color negro
draw_set_alpha(0.8)                             // nivel de transparencia en la oscuridad
draw_rectangle(0,0,room_width,room_height,0)    // dibuja el rectangulo negro que ocupa toda la room
draw_set_alpha(1)                               // establece el nivel de transparencia al normal

// CREA LA LUZ SOBRE EL JUGADOR
draw_set_blend_mode(bm_subtract)                // modo de dibujar "EXTRAER"
if instance_exists(ob_player_in_room){          // Lo coloca sobre el jugador entrando en la room
draw_sprite(spr_luz_1,0,ob_player_in_room.x,ob_player_in_room.y)
}else{                                          // lo coloca sobre el jugador
draw_sprite(spr_luz_1,0,ob_player.x,ob_player.y)
}
draw_set_blend_mode(bm_normal)                  // deja el modo de dibujo en normal
surface_reset_target()                          // cierra la surface

// CREA LUZ SOBRE LAS BALAS
if instance_exists(ob_player_bullet){
draw_set_blend_mode(bm_subtract)                // modo de dibujar "EXTRAER"
draw_sprite(spr_luz_1,0,ob_player_bullet.x,ob_player_bullet.y)// Lo coloca sobre las balas
}
draw_set_blend_mode(bm_normal)                  // deja el modo de dibujo en normal
surface_reset_target()                          // cierra la surface[/gml]

EVENTO DRAW

[gml]/// PROPIEDADES

// DIBUJARSE A SI MISMA
draw_self()

// DIBUJAR LA OSCURIDAD
draw_surface(oscuridad,0,0)[/gml]

Lo dicho, con el personaje del jugador funciona todo bien, no funciona con las balas, supongo que por que todas se llaman OB_PLAYER_BULLET, aún que si disparo sólo una, tampoco sale la luz.

Alguien que me pueda ayudar con este código ?.

Gracias como siempre.

Un Saludo.
72
Gracias NiuWeb y Naitsabes0 por vuestras respuestas, fusionando vuestros dos conceptos va dando forma a lo que buscaba.

Os lo agradezco muchisimo, me doy por satisfecho y cierro post.

Gracias !!!.
73
Gracias por contestar Naitsabes0;

Tu sistema me parece muy interesante y sin duda me servira para otros niveles futuros, pero la verdad es que justamente es esto lo que no quiero hacer y evitar.

Basicamente lo unico que necesito es que alguien me diga como crearía el moviemineto de un objeto luciernaga, de manera que vuele por la pantalla y vaya variando su direccion y tal vez tambien su velocidad pero con suavidad, por que los modos en que a mi se me ocurririan suponen una variacion de la direccion pero esto queda muy brusco, alguna ayuda ?.

Gracias.
74
Saludos;

El titulo es bastante descriptivo,voy a hacer un nivel en el que quiero poner particulas que se desplacen por la pantalla aleatoriamente.

Hasta ahora casi todas las particulas que he visto salen de arriba a abajo, aunque supongo que esto se puede modificar, no obstante, lo que mas me tira para atras a la hora de decantarme por el sistema de particulas que tiene GMS es que si no me equivoco, es de lo que mas recursos pide.

Así pués, en principio, creo que voy a hacer un sprite pequeño con una animacion que sea de iluminacion y ya esta.

Y aqui mi duda:

una vez tenga el sprite y su animacion....como podria hacer el moviemiento ?, asi a vote pronto habia pensado en poner una alarma, y que cada X tiempo cambie de direccion y que sea aleatoria, pero claro, esto va a crear unos cambios de direccion muy bruscos, no se muy bien como enfocarlo, alguien me puede ayudar?.

El resultado sería como no se, como ver a una luciernaga volando por ahi, que viene a ser un grupo de 4 u 8 pixels volando, pero lo dificil es hacer su movimiento.

Entiendo que es una pregunta demasiado general y tal vez contestarla sea un poco complicado, pero toda ayuda será bien recibida.

Un Saludo, y Gracias.
75
Se puede guardar en una variable ?, pregunto, me ha salido la duda al leer esto.