Aiken
16/10/2009, 01:39
tengo un proceso cursor_mouse.
lo unico que hace es perseguir las coordenadas del mouse y poco mas.
En un momento determinado le hago un S_SLEEP y arranco otro proceso window_mouse, que tiene el codigo practicamente igual.
Todo va bien, hasta que mato S_KILL el window_mouse, y quiero despertar a mi viejo amigo cursor_mouse.
Se despierta, se mueve bien, se dibuja, persigue al raton e incluso es capaz de detectar colisiones contra otros procesos.
Problema, los otros procesos no detectan colisiones contra el :(
Alguna idea?
Aiken
< - >
if (collision(type cursor_mouse))
drawing_color(rgb(250,250,250));
write(0,0,0,0,"CURSOR_MOUSE encima mio");
circleid = draw_circle(x,y,100);
end
Si detecta colisiones.
En el ejemplo el texto lo veo, pero el circulo no lo dibuja o no lo veo :(
El problema es el drawing_map().
Si le pongo un drawing_map(0,0) lo dibuja pero luego no consigo borrar los circulos con delete_draw(circleid)
donde dibuja por defecto cuando se llama a la funcion circle desde un proceso y sin haber especificado ningun drawing_map?
EDIT. Lo he "solucionado" poniendo un drawing_z(-5); pero no se si es la forma correcta. Por lo que ve en la documentacion ocurre porque cuando llamas en algun otro punto del codigo a drawing_map las primitivas cambian a un modo con Z y dejan de dibujarse encima de todo que es el modo standard, pero no se como volver al modo "standard", salvo con el drawing_z(-5), es correcto?
if (collision(type cursor_mouse))
drawing_z(-5)
drawing_color(rgb(250,250,250));
write(0,0,0,0,"CURSOR_MOUSE encima mio");
circleid = draw_circle(x,y,100);
end
Aiken
lo unico que hace es perseguir las coordenadas del mouse y poco mas.
En un momento determinado le hago un S_SLEEP y arranco otro proceso window_mouse, que tiene el codigo practicamente igual.
Todo va bien, hasta que mato S_KILL el window_mouse, y quiero despertar a mi viejo amigo cursor_mouse.
Se despierta, se mueve bien, se dibuja, persigue al raton e incluso es capaz de detectar colisiones contra otros procesos.
Problema, los otros procesos no detectan colisiones contra el :(
Alguna idea?
Aiken
< - >
if (collision(type cursor_mouse))
drawing_color(rgb(250,250,250));
write(0,0,0,0,"CURSOR_MOUSE encima mio");
circleid = draw_circle(x,y,100);
end
Si detecta colisiones.
En el ejemplo el texto lo veo, pero el circulo no lo dibuja o no lo veo :(
El problema es el drawing_map().
Si le pongo un drawing_map(0,0) lo dibuja pero luego no consigo borrar los circulos con delete_draw(circleid)
donde dibuja por defecto cuando se llama a la funcion circle desde un proceso y sin haber especificado ningun drawing_map?
EDIT. Lo he "solucionado" poniendo un drawing_z(-5); pero no se si es la forma correcta. Por lo que ve en la documentacion ocurre porque cuando llamas en algun otro punto del codigo a drawing_map las primitivas cambian a un modo con Z y dejan de dibujarse encima de todo que es el modo standard, pero no se como volver al modo "standard", salvo con el drawing_z(-5), es correcto?
if (collision(type cursor_mouse))
drawing_z(-5)
drawing_color(rgb(250,250,250));
write(0,0,0,0,"CURSOR_MOUSE encima mio");
circleid = draw_circle(x,y,100);
end
Aiken