elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema con Thread
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con Thread  (Leído 4,409 veces)
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Problema con Thread
« en: 6 Abril 2010, 07:03 am »

 ;D, bueno ahora vengo aqui a pedirle ayuda, estoy haciendo un programa pero utilizo graphics, necesito dibujar unas lineas, y si lo hace pero las dibuja de golpe, y lo que quiero es que muestre el pintado como si fuera una linea animada, utilice un treah para pausar el pintado, pero creo que tengo que manejarlo en una clase aparte  :-X y la verdad no soy bueno con hilos.


 :silbar:


Saludos



« Última modificación: 7 Abril 2010, 08:16 am por Darhius » En línea

abc
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Problema con Thread
« Respuesta #1 en: 6 Abril 2010, 08:32 am »

Debes de estar bromenado :xD usar un hilo en esa forma de implementacion en que lo tienes es casi imposible y mas para hacer lo <=7 veces, le busque unas vueltas pero :-X WTF.


« Última modificación: 6 Abril 2010, 08:34 am por LEYER » En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Problema con Thread
« Respuesta #2 en: 6 Abril 2010, 09:01 am »

Debes de estar bromenado :xD usar un hilo en esa forma de implementacion en que lo tienes es casi imposible y mas para hacer lo <=7 veces, le busque unas vueltas pero :-X WTF.

A que te refieres con esa forma de implementación??
lo unico que quiero es que se muestre el pintado de las lineas

amm en un programa anterior que hice hace mucho tiempo si me muestra el pintado, pero aqui no sé que pasa  :-\
por eso pense qeu deberia manejar una clase aparte  :P

Código
  1. private void dibujarLineasV(Graphics g, int ancho, int largo)
  2. {
  3. g.setColor( color() );
  4. for(int l=20; l<=largo; l+=(largo/2)-20)
  5. {
  6. for(int c=60; c<=ancho-20; c++)
  7. {
  8. g.drawLine( l, c, l, c );
  9. try{ Thread.sleep(1);}catch(InterruptedException excepcion){System.out.println(excepcion);}
  10. }
  11. }
  12. }
  13.  

gracias por responder
« Última modificación: 6 Abril 2010, 09:05 am por Darhius » En línea

abc
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Problema con Thread
« Respuesta #3 en: 6 Abril 2010, 09:08 am »

Me refiero a cuando haces el switch, para colocarlo como dices tendrias que meter casi todo de los case en un hilo o mas, modificando los parametros del metodo dibujarCodificaciona a finales para que hilo pueda tener acceso a estos,el cual modificaria casi todo la implementacion de tu metodo, y eso hace q sea casi imposible te lo aseguro tandrias que modificar muchas cosas y no basta con hacer un sleep por que esto congelaria tu interfaz.

Un Salu2.
« Última modificación: 6 Abril 2010, 09:10 am por LEYER » En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Problema con Thread
« Respuesta #4 en: 6 Abril 2010, 09:14 am »

Ok, muchas gracias LEYER,
rayos tendre que buscar otra forma  :xD de hacerlo

Saludos
En línea

abc
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Problema con Thread
« Respuesta #5 en: 6 Abril 2010, 14:58 pm »

Prueba a dibujar las lineas por segmentos mas pequeños, esperando unos segundo entre cada una.

Saludos
En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Problema con Thread
« Respuesta #6 en: 8 Abril 2010, 01:31 am »

Respondere independientemente si te constestaron en tu problema.
Sinceramente todo lo que es graficos siempre se hace en 1 solo Thread es asi porque piensa que manejar 1 solo dispositivo con 2 Threads, 2 personas tratando de usar una sola cosa es algo imposible (se puede pero se turnan)
Bueno descartando usar Threads(solo usa el principal) tienes que pensar de otra manera, bueno como yo programo videojuegos lo pienso asi:
  • Debes hacer que tu programa corra a una cierta velocidad, (puedes hacer un while que la ultima sentencia duerma algunos milisegundos)
  • Hacer que tu sprite (linea animada) se anime =P
Como hacer que tu linea se anime, se me ocurre obiar el repintado y hacer que un punto recorra una trayectoria.
Ejemplo esta formula
P(t) = Po + V(t)*t +A(t)*t*t/2
Esta formula hace que un punto se mueva desde Po en un instante t=0 a un punto P(tf) en un instante tf (Rayos Fisica)
jajaja
depende si haces V(t)= Vo constante y A(t) = NULO (matemático) haces una recta animada, si haces que A constante haces que la linea acelere o si haces la función V(t) = (cos(t),sen(t)) puedes hacer un circulo animado.
Me fui muy matematico parece pero es la unica solución MAS SENCILLA (tengo otra) y general
te dejare algo de PSEUDO CODIGO
Cita de: egyware
main
tiempo = 0
v = constante
while (hasta que stop sea true)
x = v * tiempo
y = v * tiempo
//Nota 1
pintarPunto(x,y)
//Nota 2
añadir una unidad a tiempo
dormir 16 miliseg // Esto es mas o menos 60 FPS
while end
end main
En la nota 1 puedes borrar lo anterior o en la nota 2 aplicas tecnica del doble buffer osbiamente esto produce un punto moviendose para lo que tu quieres ignora siemplemente.
Saludos espero que te sirva te algo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema enviando Strings por sockets en una multiconexion por Thread
Java
undercode2 1 2,682 Último mensaje 5 Mayo 2011, 03:21 am
por Leyer
#include <thread/AsyncCallback.h> #include <thread/Runnable.h>
GNU/Linux
Codename!! 1 3,084 Último mensaje 18 Agosto 2011, 07:14 am
por Foxy Rider
#include <thread/AsyncCallback.h> #include <thread/Runnable.h>
Programación C/C++
Codename!! 0 2,268 Último mensaje 15 Agosto 2011, 21:31 pm
por Codename!!
problema server socket thread
Java
momo1234 1 3,013 Último mensaje 12 Mayo 2012, 17:20 pm
por momo1234
(Solucionado) Problema con mi thread...
.NET (C#, VB.NET, ASP)
Eleкtro 0 2,249 Último mensaje 29 Noviembre 2012, 18:05 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines