首页 arrow 本站论坛
J2ME游戏开发论坛
欢迎您, 游客
请您在右方表单注册或登陆.
一个不是问题的问题 (1 个人正在浏览) (1) 游客
到底部
被收藏: 0
话题: 一个不是问题的问题
#319
M (会员)
Junior Boarder
帖子: 23
graphgraph
该会员已离线 点此观看该会员的个人资料
一个不是问题的问题 3 年, 7 月 之前 评分: 3  
刚才写代码有发现了一个小问题:
为了方便我们常常在GameCanvas类中程序开头定义两个整型变量用来代替程序中要常常用到的屏幕宽高,例如:
Int width = getWidth();
Int height = getHeight();
this.setFullScreenMode(true);//设置全屏
g.setColor(0);
g.fillRect(0,0,width,height);//全屏填充

上面这几行代码表面上看好像没问题 1获取宽高 2全屏化 3全屏填充
但当程序运行后你会发现并没有完成填充全屏.下方留了一白色小矩形如图:


分析一下就能发现 当width,height获取数据之后才设置全屏,那么这个
Width,height获取的数据是在没有全屏的状态下的.所以要填充全屏必须
将this.setFullScreenMode(true);//设置全屏这段代码放在
Int width = getWidth();
Int height = getHeight();
之前,
这样width,height获取的数据是在全屏状态下的<br><br>帖子被编辑由 mobile, 于 2008-07-17 23:28
 
 
  只有注册会员才能发帖
#321
Wupei (管理员)
Moderator
帖子: 301
graph
该会员目前在线 点此观看该会员的个人资料
回复:一个不是问题的问题 3 年, 6 月 之前 评分: 14  
恩,还有的情况下,比如诺基亚机型,得到的getHeight();是不对的
 
 
  只有注册会员才能发帖
#368
hu1010 (会员)
Fresh Boarder
帖子: 1
graphgraph
该会员已离线 点此观看该会员的个人资料
回复:一个不是问题的问题 3 年, 6 月 之前 评分: 0  
一滴蔚蓝色 曾经说:
恩,还有的情况下,比如诺基亚机型,得到的getHeight();是不对的


在诺基亚机型中:
//先设置,全屏
this.setFullScreenMode(true);//设置全屏
//再得到,width, height就行了!
Int width = getWidth();
Int height = getHeight();

g.setColor(0);
g.fillRect(0,0,width,height);//全屏填充
 
 
  只有注册会员才能发帖
#371
Wupei (管理员)
Moderator
帖子: 301
graph
该会员目前在线 点此观看该会员的个人资料
回复:一个不是问题的问题 3 年, 6 月 之前 评分: 14  
hu1010 曾经说:
一滴蔚蓝色 曾经说:
恩,还有的情况下,比如诺基亚机型,得到的getHeight();是不对的


在诺基亚机型中:
//先设置,全屏
this.setFullScreenMode(true);//设置全屏
//再得到,width, height就行了!
Int width = getWidth();
Int height = getHeight();

g.setColor(0);
g.fillRect(0,0,width,height);//全屏填充


恩,理论上是这样的..但是上真机拭一下就知道了
就算this.setFullScreenMode(true);
getHeight()也得不到准确的数值的...这也是为什么各个大机型种类都需要单独的一个包的原因之一
 
 
  只有注册会员才能发帖
#382
jack (会员)
Fresh Boarder
帖子: 6
graphgraph
该会员已离线 点此观看该会员的个人资料
回复:一个不是问题的问题 3 年, 5 月 之前 评分: 0  
没有在真机上验证过,不过,说是在诺基亚的机器上面,如果要获得全屏效果,那么,在getHeight(),getWidth(),之前一定要设置为全屏模式,而且其他厂商的机器也有这样的可能,我一般是先全屏,再得到宽高
 
 
  只有注册会员才能发帖
#384
Wupei (管理员)
Moderator
帖子: 301
graph
该会员目前在线 点此观看该会员的个人资料
回复:一个不是问题的问题 3 年, 5 月 之前 评分: 14  
jack 曾经说:
没有在真机上验证过,不过,说是在诺基亚的机器上面,如果要获得全屏效果,那么,在getHeight(),getWidth(),之前一定要设置为全屏模式,而且其他厂商的机器也有这样的可能,我一般是先全屏,再得到宽高

现在大多数公司的做法还是分好多类机型,然后出多个版本的机型~

自适应其实对于游戏的品质来说,可能在一定程度伤大打折扣吧...

因为可能涉及到图片的缩小放大,这样也就造成资源问题...而且还有其他的问题...
 
 
  只有注册会员才能发帖
#1523
DKCPU (会员)
Fresh Boarder
帖子: 5
graphgraph
该会员已离线 点此观看该会员的个人资料
回复:一个不是问题的问题 1 年, 7 月 之前 评分: 0  
这就是手机开发的麻烦所在?
 
 
  只有注册会员才能发帖
#1813
ln (会员)
Fresh Boarder
帖子: 14
graphgraph
该会员已离线 点此观看该会员的个人资料
回复:一个不是问题的问题 1 年, 2 月 之前 评分: 0  
受益谢谢,分享
 
 
  只有注册会员才能发帖
到顶部