Red de conocimiento informático - Material del sitio web - Cómo cambiar un juego de J2ME a Android

Cómo cambiar un juego de J2ME a Android

1. Comparación de plataformas

J2me:

Plataforma de desarrollo

Android:

Sistema operativo

2. Comparación de estructura (código fuente, carpeta de recursos, imagen, datos)

J2me:

Res: Res: archivo de recursos

Src: código fuente

Android:

Src: código fuente

Res/drawable: imagen

Res/raw: sonido

Res/valores : cadena

Activos: archivo de datos

3. Comparación de paquetes de instalación

WindowManager.LayoutParams.FLAG_FULLSCREEN);

requestWindowFeature (Ventana .FEATURE_NO_TREEN). FEATURE_NO_TITLE);

2 Obtener el tamaño de la pantalla

J2me:

Los métodos getHeight() y getWidth() de la clase Canvas

Android:

int screenWidth,screenHeight;

WindowManager windowManager = getWindowManager();

Pantalla display = windowManager.getDefaultDisplay();

WindowManager.getDefaultDisplay();

WindowManager.getDefaultDisplay();

WindowManager.getDefaultDisplay()

Paint(Gráficos)

Android:<

void onDraw(Canvas g)

6 gráficos

J2me:

Android:

7 Creación de imágenes

J2me:

Imagen.createImage(ruta);

Android:

img = BitmapFactory .decodeResource( getResources(),R.drawable.

Android:

drawText público nativo vacío (texto de cadena, flotante x, flotante y, pintura);

Sobrecargas múltiples

Sobrecargas múltiples

11 setClip

J2me:

Android:

clipRect booleano público (flotante a la izquierda, flotar arriba, flotar hacia la derecha, flotar abajo, operación Region.Op)

El último parámetro es: Region.Op.REPLACE

12 rotación

J2me:

drawRegion()

drawImage()

Android:

No he encontrado una buena manera, pero puedes crear una imagen invertida primero y luego usarlo.

El código encapsulado es el siguiente:

//Crear imagen volteada

public Bitmap createTransImage(Bitmap img,int trans)

{

// Imagen de mapa de bits;

prueba

{

// img = BitmapFactory.decodeResource(getResources)

// BitmapFactory. decodeResource (getResources)

// BitmapFactory.decodeResource(getResources)decodeResource(getResources(),sImg);

int ancho = img.getWidth();

int height = img.getHeight();

int newWidth = 200;

int newHeight = 200;

// Calcular la escala, en este caso = 0.postScale( scaleWidth, scaleHeight);

// Girar mapa de bits

int Degree=0;

Bitmap resizedBitmap=null;

int data [ ];

int buf;

cambiar(trans)

{

caso ROTATE_HOR:

/ / Crear inversión de espejo

data=new int [img.getWidth()*img.getHeight()];

img.getPixels(data, 0, img.getWidth(), 0 , 0, img.getWidth(), img.getHeight());

//Intercambiar datos

for(int i=0;i

for(int j=0;j

{

buf=data[i*img . getWidth()+j];

datos[i*img.getWidth()+j]=datos[img.getWidth()*(i+1)-(j+1 ) ];

datos[img.getWidth()*(i+1)-(j+1)]=buf;

}

resizedBitmap= Mapa de bits .createBitmap(datos, img.getWidth()*img.getHeight()];

img.getPixels(datos, 0, img.getWidth() , 0, 0, img.getWidth(), img .getHeight());

//Intercambiar datos

for(int i=0;i

for(int j=0;j

{

buf=datos[i*img.buf=datos[i*img.getWidth ( )+j];

datos[i*img.getWidth()+j]=datos[(img.getHeight()-i-1)*img.getWidth()+j];< / pag

>

datos[(img.getHeight()-i-1)*img.getWidth()+j]=buf;

}

resizedBitmap=Bitmap.createBitmap( datos, img.getWidth(),

img.getHeight(), Bitmap.Config.

return resizedBitmap;

case ROTATE_90:

matrix.postRotate(90);

//Recrea un nuevo mapa de bits

resizedBitmap = Bitmap.createBitmap(img.getWidth(),

img . getHeight(),

Bitmap.Config.createBitmap(img, 0, 0,

ancho, alto, matriz, verdadero);

devuelve resizedBitmap

}

devolver mapa de bits redimensionado;

}

captura (Excepción e)

{

return null;

}

}

}

13 drawRect

J2me :

Android:

public void drawRect(flotante hacia la izquierda, flotante hacia arriba, flotante hacia la derecha, flotante hacia abajo, Paint paint)

14 Procesamiento de sonido

J2me: