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!
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
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
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
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
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...
Gracias, oh, lo siento, el tema est? resuelto, gracias.
Cielos, como no puse esto antes.