Buenas, no se como lograr este efecto explico:
Tengo una instancia. Entonces en un solo step salta a una determinada posicion. Por ej, esta en 100,100 y salta a 300,500. Lo que quiero lograr eske se creen humos entre 100,100 y 300,500 en un solo step. Con crear 1 cada 32 pixeles ya tendria bastante. Ejemplo:
[]....................O
[] es la posicion donde estaba antes
O es la posicion donde esta ahora
. son los humos
Si alguien vio los dibujos del correcaminos (mic mic xD) o cualquier serie de cartoon network, sabra que busco xP
Algo que es f?cil de entender y muy eficiente es usar 2 fores.
[gml]
//Reemplaza rango_x y rango_y por el tama?o de tu cuadrado, reemplaza x e y por el lugar
//donde quieres que comience el cuadrado, y reemplaza obj_humo.
for(i=0;i<rango_x);i+=32){
for (j=0;i<rango_y;j+=32){
instance_create(obj_humo,x+i,y+j,obj_humo);
}
}[/gml]
No estoy en mi casa pero en 3 dias te puedo darun coodigo con particulas, es un juego de aviones que largan humo, supongo que es lo que necesitas
bruno te dejaste 2 errores, pusiste un argumento de mas en instance_create. Bueno entonces lo dejaria asi creo:
[gml]for(i=0;i<32;i+=32){
for (j=0;i<32;j+=32){
effect_create_above(ef_smokeup,x+i,y+j,0,c_white)
}
}[/gml]
No entendi muy bien lo del quadrado. Puse 32. Probe este codigo y el juego me rebento xD (finalize proceso).
EDIT: Probe asi:
[gml]for(i=0;i<x-xprevious;i+=32){
for (j=0;i<y-yprevious;j+=32){
effect_create_above(ef_smokeup,xprevious+i,yprevious+j,0,c_white)
}
}[/gml]
No rebienta, sin embargo no se aprecia nada el efecto xD
CitarNo estoy en mi casa pero en 3 dias te puedo darun coodigo con particulas, es un juego de aviones que largan humo, supongo que es lo que necesitas
Eso ya lo se hacer, lo que no se hacer esque cuando un objeto se teleporta a una posicion, se cree una linia de humos, como si hubiese ido a la velocidad luz, para que no parezca que haga un teleport.
Intenta as? (:
[gml]for(i=0;i<x-512;i+=32){
for (j=0;i<y-512;j+=32){
effect_create_above(ef_smokeup,x+i,y+j,0,c_white);
}
}[/gml]
Busca que es un for en el manual o en cualquier pagina de programaci?n, aunque b?sicamente lo que hace es repetir un c?digo en un mismo step hasta que se cumpla una condici?n.
Tu lo has dicho, no tengo ni idea de como usar el for :-[ pero como gamemaker siempre tiene muchas salidas, al final lo deje asi:
dash_effect(cordenadas donde te teletransportaras)
[gml]repfactor = 0
newx = argument0
newy = argument1
numberofrepeats = round(point_distance(x,y,newx,newy)/32)
distanceY = point_distance(0,y,0,newy)
distanceX = point_distance(x,0,newx,0)
if numberofrepeats < 1 {exit;}
repeat(numberofrepeats)
{
repfactor += 1
if y < newy {reduceY = newy-(distanceY/repfactor)} else {reduceY = newy+(distanceY/repfactor)}
if x < newx {reduceX = newx-(distanceX/repfactor)} else {reduceX = newx+(distanceX/repfactor)}
effect_create_above(ef_smokeup,reduceX,reduceY,1,c_white);
}[/gml]
Es el efecto correcaminos. Se que me complico la vida pero asi lo entiendo mucho mejor xP