Mayo 06, 2011, 06:11:32 PM Ultima modificación: Mayo 11, 2011, 03:29:34 AM por Metal Mario
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:


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]

:)

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

No. Ninguna de las dos me sirve.
Y si est? en Step.


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.

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!

Mi nuevo juego Infeccion
http://www.comunidadgm.org/index.php?topic=12886.0

Mi juego iluminacion
http://www.comunidadgm.org/index.php?topic=12843.0

Que hacer si tu antivirus te detecta un juego que has creado como virus?

http://www.comunidadgm.org/index.php?topic=12632.0

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?.


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

Mi nuevo juego Infeccion
http://www.comunidadgm.org/index.php?topic=12886.0

Mi juego iluminacion
http://www.comunidadgm.org/index.php?topic=12843.0

Que hacer si tu antivirus te detecta un juego que has creado como virus?

http://www.comunidadgm.org/index.php?topic=12632.0

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
La cosa es que,.... no tengo la menor idea.

http://matuxgames.blogspot.com/

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

Mi nuevo juego Infeccion
http://www.comunidadgm.org/index.php?topic=12886.0

Mi juego iluminacion
http://www.comunidadgm.org/index.php?topic=12843.0

Que hacer si tu antivirus te detecta un juego que has creado como virus?

http://www.comunidadgm.org/index.php?topic=12632.0

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]

Lo he puesto donde dices, pero no me funciona.
Necesitare algo extra para que funcione o tengo que cambiarle algo?


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.

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

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