I am doing an application-infinitely rotating 3D cylinder in
openGl.The speed varies with finger touch but wen i reduce the speed,i
can see flickering happening in animation towards right and
left.Initialy I thought it is because of the linked list im updating
but found out there is no such problem with my linked list .I'm using
a thread here for a small delay after each 30 degree rotation
drawing.I cant do it widout the thread coz i need a sleep or a delay
after each 30 degree drawing,if i remove the thread and implement the
code in thread inside my onDraw frame, the curvature rotation itself
goes and it appears that images are just left shifting n right
shifting coz the sleep is not getting identified in onDraw frame.So i
cant implement my logic here widout using thread..so thread is a must
in my logic but i guess the flickering is due to my thread...Is the
flickering issue during animation because of the thread?please do help
me with this flickering issue......dis is d thread part im using in my
code.........
Runnable r1=new Runnable()
{
//Thread t1=new Thread(r1);
//t1.start();
public void run()
{
//t1.start();
while(true){
if(rotateFlagRight)
{
mRenderer.rotationFlag = 1;
//System.out.println("positive
value of dx...."+dx);
for(int i=0;i<=30;i++)
{
mRenderer.mAngleXX= i;
if ((dx>10)&& (dx<50))
{
try {
Thread.sleep(100);
} catch
(InterruptedException e1) {}
}
else if ((dx>50)&&
(dx<100))
{
try {
Thread.sleep(10);
} catch
(InterruptedException e1) {}
}
else if ((dx>100)&&
(dx<150))
{
try {
Thread.sleep(8);
} catch
(InterruptedException e1) {}
}
else if ((dx>150)&&
(dx<200))
{
try {
Thread.sleep(7);
} catch
(InterruptedException e1) {}
}
else if ((dx>200)&&
(dx<250))
{
try {
Thread.sleep(5);
} catch
(InterruptedException e1) {}
}
else if ((dx>250)&&
(dx<300))
{
try {
Thread.sleep(4);
} catch
(InterruptedException e1) {}
}
else if ((dx>300)&&
(dx<350))
{
try {
Thread.sleep(3);
} catch
(InterruptedException e1) {}
}
else if ((dx>350))
{
try {
Thread.sleep(2);
} catch
(InterruptedException e1) {}
}
}
mRenderer. listPhotos();
mRenderer.rotationFlag=0;
}
if(rotateFlagLeft)
{
//if(rotateFlagLeft)
mRenderer.rotationFlag = 2;
//System.out.println("Negative
value of dx...."+dx);
for(int i=0;i>=-30;i--)
{
mRenderer.mAngleXX= i;
if ((dx<-350))
{
try {
Thread.sleep(2);
} catch
(InterruptedException e1) {}
}
if ((dx<-300) &&
(dx>-350))
{
try {
Thread.sleep(3);
} catch
(InterruptedException e1) {}
}
if ((dx<-250) &&
(dx>-300))
{
try {
Thread.sleep(4);
} catch
(InterruptedException e1) {}
}
if ((dx<-200) &&
(dx>-250))
{
try {
Thread.sleep(5);
} catch
(InterruptedException e1) {}
}
if ((dx<-150) &&
(dx>-200))
{
try {
Thread.sleep(7);
} catch
(InterruptedException e1) {}
}
else if
((dx<-100)&&(dx>-150))
{
try {
Thread.sleep(8);
} catch
(InterruptedException e1) {}
}
else if
((dx<-50)&&(dx>-100))
{
try {
Thread.sleep(10);
} catch
(InterruptedException e1) {}
}
else if
((dx<-10)&&(dx>-50))
{
try {
Thread.sleep(100);
} catch
(InterruptedException e1) {}
}
}
//}
mRenderer.listPhotos();
mRenderer.rotationFlag=0;
//continue;
}
if(!rotateFlagLeft){
if(!rotateFlagRight)
{
rotateFlagLeft=false;
rotateFlagRight=false;
}
}
}
}
};
please do help me to reduce the flickering.Thanks in advance
Tina
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

