j2me中如何实现文字像素级滚动
1个回答
展开全部
你的文字是使用g.drawString();画出来的吧? drawStirng()方法第一个参数是你要显示的字符串,第二个和第三个都是显示在哪里,也就是X Y坐标点,第四个参数是怎么画,这个不用管,20是左上。
你需要的只是把drawString()方法的第二个和第三个参数换成变量,然后再在线程里改变参数值就可以咯,示例:
int i_x, i_y;
public void paint(Graphics g)
{
gg.setColor(0xffffff);//以下三行代码为清屏代码
gg.setClip(0, 0, 240, 320);
gg.fillRect(0, 0, 240, 320);
g.setFont(Font.getFont(0,0,8));//设置字体
g.setColor(255,0,0);//设置字体为红色
g.drawString("j2me中如何实现文字像素级滚动", i_x, i_y, 20);
}
public void update()
{
if(true) //横向左滚动
i_x--;
if(false) //横向右滚动
i_x++;
if(false) //竖向上滚动
i_y--;
if(false) //竖向下滚动
i_y++;
}
paint方法是绘制方法
update方法是放在线程里无限调用的线程方法
你会看到移动的速度很快,可你移动的步长确实是1,因为你的刷新率很高,你需要控制一下帧数,如果你需要控制帧数的代码,请告诉我。
你需要的只是把drawString()方法的第二个和第三个参数换成变量,然后再在线程里改变参数值就可以咯,示例:
int i_x, i_y;
public void paint(Graphics g)
{
gg.setColor(0xffffff);//以下三行代码为清屏代码
gg.setClip(0, 0, 240, 320);
gg.fillRect(0, 0, 240, 320);
g.setFont(Font.getFont(0,0,8));//设置字体
g.setColor(255,0,0);//设置字体为红色
g.drawString("j2me中如何实现文字像素级滚动", i_x, i_y, 20);
}
public void update()
{
if(true) //横向左滚动
i_x--;
if(false) //横向右滚动
i_x++;
if(false) //竖向上滚动
i_y--;
if(false) //竖向下滚动
i_y++;
}
paint方法是绘制方法
update方法是放在线程里无限调用的线程方法
你会看到移动的速度很快,可你移动的步长确实是1,因为你的刷新率很高,你需要控制一下帧数,如果你需要控制帧数的代码,请告诉我。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询