MyException - 我的异常网
输入您需解决的 软件开发问题并开始搜索, 我的异常网可以方便地提供各类 程序错误解决方案。
当前位置: 我的异常网 » J2ME

100分拼图怎么显示在模拟器正中央,帮忙修改代码(5)


  *   @see   javax.microedition.midlet.MIDlet#startApp()
  */
protected   void   startApp()   throws   MIDletStateChangeException   {
//   TODO   Auto-generated   method   stub
if   (m_MainCanvas   ==   null)  
{
try
{
m_MainCanvas   =   new   MainCanvas(this);
        }
catch   (Exception   ex)
{
        System.out.println(ex);
        }
}
Display.getDisplay(this).setCurrent(m_MainCanvas);
}

/*   (non-Javadoc)
  *   @see   javax.microedition.midlet.MIDlet#pauseApp()
  */
protected   void   pauseApp()   {
//   TODO   Auto-generated   method   stub
m_MainCanvas.stop();
}

/*   (non-Javadoc)
  *   @see   javax.microedition.midlet.MIDlet#destroyApp(boolean)
  */
protected   void   destroyApp(boolean   arg0)   throws   MIDletStateChangeException   {
//   TODO   Auto-generated   method   stub
m_MainCanvas.stop();
}

}

------解决方案--------------------------------------------------------
调整paint中for循环中的X的初值
------解决方案--------------------------------------------------------
显示在正中间吗?那就把你现在的paint函数里边所有画东西的函数中,x,y坐标分别加一个量dx,dy就好了。


protected void paint(Graphics g) {
g.setColor(0);
g.fillRect( 0, 0, getWidth(), getHeight() );
int nImg = 0; //暂存图片的编号
int dx = (getWidth() - 90) / 2;
int dy = (getHeight() - 90) / 2;
switch( m_nSta ) {
case 0:
for( int x = 0; x < 3; x++ ) {
for( int y = 0; y < 3; y++ ) {
if( x == m_nHidX && y == m_nHidY )
continue;
nImg = m_anCur[y][x];
if( nImg > = 0 && nImg < 9 ) {
if( m_aImg[nImg] != null )
g.drawImage( m_aImg[nImg], dx + x * 30, dy + y * 30, Graphics.LEFT|Graphics.TOP);
}
}
}
//接着画线,将9块格子分割开。
g.setColor(0xffffff);//设置成白色
for(int i = 0; i <= 3; i++) {
g.drawLine( dx + 0, dy + i*30, dx + 3*30, dy + i*30);
g.drawLine( dx + i*30, dy + 0, dx + i*30, dy + 3*30);
}
break;
case 1:
for( int x = 0; x < 3; x++ ) {
for( int y = 0; y < 3; y++ ) {
nImg = y * 3 + x;
if( m_aImg[nImg] != null )
g.drawImage( m_aImg[nImg], dx + x * 30, dy + y * 30, Graphics.LEFT|Graphics.TOP);
}
}
break;
case 2:
default:
g.drawString( "Very Good! ", 10, 45,Graphics.LEFT|Graphics.TOP);
break;
}
}
软件开发 程序错误 异常 Exception Copyright © 2009-2012 MyException 版权所有