J2ME地图绘制以及使用出现的问题

今天下午准备做一个从游戏返回到主菜单

但是按键了却画面没有改变,本应回到主菜单

找了很久原因,网上各种搜索都没找到

跟踪检查,发现状态机在按键之后就变成了菜单选项

但为什么就绘不出菜单呢

问了一个朋友,给个提示才恍然大悟

原来问题出在绘制地图的setclip(,,,)

绘制了地图后把地图分成了很多块

所以菜单页面被画到其中一个界面

就没有在全界面显示出来

解决办法

在地图画完的最后面加一个setclip(0,0,screenWidth,screenHeight)

目的是让后续的绘图还是覆盖整个手机屏幕

 

下面是setClip的用法

setClip方法的原理是通过只在屏幕上显示一部分内容,让图片恰好位于该部分的内容显示出来。

  setClip的方法就是在屏幕上设置这个“透视孔”,只有位于该孔中的图片内容显示出来。

  setClip的方法说明如下

  public void setClip(int x, int y, int width, int height)

  其中

  x——可以显示的矩形区域左上角的x坐标

  y——可以显示的举行区域左上角的y坐标

  width——矩形的宽度

  height——巨型的高度

  实际使用示例

  g.setClip(10,20,20,30);

  g.drawImage(image,10,20,Graphics.LEFT | Graphics.TOP);

  则只显示image对象代表的图片中从开始位置,高30,宽20的部分,其余的部分都不显示。

  注意:在使用完setClip以后,需要恢复系统的默认设置,使整个屏幕都可以显示:

  g.setClip(0,0,this.getWidth(),this.getHeight());

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值