Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Metal Mario en Mayo 06, 2011, 06:11:32 PM

Título: Resuelto: Porque cae muy poca nieve en rooms grandes?
Publicado por: Metal Mario en Mayo 06, 2011, 06:11:32 PM
effect_create_above genera una cantidad considerable de "nieve" en un room de 320 x 240. Pero cuando el tama?o del room es m?s grande, no cae mucha nieve.
Como puedo generar m?s nieve?
:GM8:
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Silver_light en Mayo 06, 2011, 07:04:49 PM
Lo est?s usando en el evento Step? si no es asi intenta usarlo all? y si ya est? all? entonces vuelve a repetir el codigo las veces que sea necesaria para que caiga m?s, sin emabargo esto puede relentizar el juego...
[gml]
repeat(3) effect_create_above(ef_snow,0,0,1,c_white);
[/gml]

:)
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Masterkey en Mayo 06, 2011, 07:12:02 PM
D?jame y te explico:
usar un efecto en toda una room ser?a ca?tico, no puedes hacer que la nieve caiga en todo lado, pero si puedes hacer que parezca que esto pase, ?c?mo? Is easy!
En las posiciones x e y usa las funciones view_xview y view_yview  | o usa el jugador como referencia, unos puntos m?s altos p.e: mario.x; mario.y-200
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Metal Mario en Mayo 06, 2011, 07:36:27 PM
No. Ninguna de las dos me sirve.
Y si est? en Step.
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Killer en Mayo 06, 2011, 08:39:28 PM
Que raro, la idea de Silver_Light deber?a servirte, si bien es cierto que puede ralentizar el juego.

En todo caso, la mejor soluci?n seria que hagas tu propio efecto de nieve con particulas, y que, como sugiere Masterkey, lo limites al area alrededor de la view.
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: zerozerito en Mayo 06, 2011, 11:50:36 PM
ok hermano aqui te dejo un editable de como agregar nieve de forma pareja usando un background tambien funciona en lite

osea nieve en lite!
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Metal Mario en Mayo 07, 2011, 04:11:19 AM
Oh, basicamente es un background.
Pero quiero este efecto que es ef_snow, no puede haber algun otro consejo?
Si debo usar algo diferente, hubiese usado el ejemplo de efectos que tengo por ah?.
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: zerozerito en Mayo 08, 2011, 12:04:53 AM
no se me ocurre otra idea ya que modificar las coordenadas no sirve de nada - quizas debe ser por como fue programado el ef_snow :'( - la idea de los backgrounds es un poco limitada pero puede ser una de tus opciones para las rooms grandes
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: MatuX en Mayo 08, 2011, 12:44:04 AM
y por que no hace lo que dijo masterkey, creas ese mismo efecto de nieve del tama?o de view que  estas usando y que despues siga la pantalla
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: zerozerito en Mayo 08, 2011, 12:45:40 AM
Cita de: MatuX en Mayo 08, 2011, 12:44:04 AM
y por que no hace lo que dijo masterkey, creas ese mismo efecto de nieve del tama?o de view que  estas usando y que despues siga la pantalla


ya lo habia comentado modificar coordenadas no sirve
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Killer en Mayo 08, 2011, 01:14:45 AM
Me parece que mi consejo de hacer el efecto con particulas fue del todo ignorado :-X. En fin, ac? hay tienes el efecto de nieve:

[gml]//argument0 = Intensidad
//Ejemplo   = scr_Nieve(5)
if (!variable_global_exists("Sis001")) Sis001=-4;
if (!variable_global_exists("Par001")) Par001=-4;
if (!variable_local_exists("Var001")) Var001=-4;

if !part_system_exists(Sis001){
Sis001 = part_system_create();
part_system_depth(Sis001,-10010);
}

if !part_type_exists(Par001){
Par001 = part_type_create();
part_type_size(Par001,0.1,0.25,0,0);
part_type_shape(Par001,pt_shape_snow);
part_type_alpha1(Par001,0.8);
part_type_gravity(Par001,0.01,270);
part_type_speed(Par001,2,5,0,0);
part_type_orientation(Par001,0,0,2,0,0)
}
part_type_life(Par001,(view_hview+20)/3+30,(view_hview+20)/3+30);
part_type_direction(Par001,257,283,0,10);

Var001 += argument0;
repeat(Var001){
part_particles_create(Sis001,view_xview-view_wview/2+random(view_wview)*2,view_yview-20,Par001,1);
Var001 -= 1;
}[/gml]

Solo ponlo en el step de alg?n objeto con la intensidad que quieras y ?l se encargar? del resto.

Cuando termines de usarlo es mejor eliminar los componentes del efecto, asi que en el evento Destroy o Room End pon:

[gml]part_system_destroy(Sis001)
part_type_destroy(Par001)[/gml]
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Metal Mario en Mayo 09, 2011, 08:43:32 PM
Lo he puesto donde dices, pero no me funciona.
Necesitare algo extra para que funcione o tengo que cambiarle algo?
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Killer en Mayo 09, 2011, 10:35:48 PM
Imagino que pusiste el c?digo tal y como lo puse en un evento step, me equivoco?

Lo que debes hacer es crear un script, poner en ese script el c?digo, y luego llamar el script desde el evento step de alguno objeto, pasando como argumento la cantidad de nieve que quieres que caiga.

En la segunda l?nea del c?digo hay un ejemplo de como llamarlo.

Para futura referencia, cada vez que veas que en un c?digo se hace referencia a argumentos, ese c?digo debe usarse dentro de un script.
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Fenix oscuro en Mayo 10, 2011, 05:26:54 AM
tengo 2 ideas

Idea 1
---------------------------
el primero es con un background
haces un background dibujas la nieve
luego vas a la room lo agregas
activas foreground image

y hasta el fondo hay dos casillas que dicen
Hor.speed
Ver.speed

asegurate de que la nieve de fondo no este tan separada ni junta cuando lo dibujes


la segunda alternativa es
hacer lo mismo pero en sprites
pero cuando salga de la room salta en random o desde el inicio


Espero que sirva.
no creo que los scripts de efectos funcionen y ademas no los uso
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Metal Mario en Mayo 10, 2011, 04:36:04 PM
Cita de: Fenix oscuro en Mayo 10, 2011, 05:26:54 AM
Espero que sirva.
no creo que los scripts de efectos funcionen y ademas no los uso
Pues ya es hora de usar los scripts, novato. Son tan utiles, que pueden hacer que hasta tu protagonista pueda salir del monitor XD.
Gracias, Killer, funciona perfectamente. Ya decia yo que los arguments iban en un script, pero solo quise obedecerles al pie de las letra, bueno, ustedes son los expertos, no?  XD Gracias, pero puede hacerse algo para que caiga un poco mas lento?...
Bueno, eso lo buscar? yo mismo.
+1
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Zeit en Mayo 11, 2011, 12:13:49 AM
Hola, te hice un ejemplo de nieve estilo caricatura con surfaces... lo puedes modificar tanto para crear lluvia, humo, nieve, etc. e incluso con un poco de trabajo extra puedes hacer la caida de la nieve en diagonal como si se tratara de viento e incluso cambiar la direccion... este metodo consume muy pocos recursos, saludos.

Por cierto, esta en GM 8.1 Standar...
Título: Re: Porque cae muy poca nieve en rooms grandes?
Publicado por: Metal Mario en Mayo 11, 2011, 03:28:43 AM
Gracias, oh, lo siento, el tema est? resuelto, gracias.
Cielos, como no puse esto antes.