相关疑难解决方法(0)

如何在Android游戏中在屏幕上绘制大量位图而不会降低性能

我想为Android制作基于磁贴的游戏.目前我正在将每个图块绘制为单独的位图.我有一个大的for循环,从字符串中读取并根据它找到的绘制关卡的字符绘制不同的tile.

我允许用户使用滚动手势滚动屏幕.然而游戏太慢了.用户滚动后更新屏幕需要很长时间.我认为这是因为它必须单独绘制每个tile的位图.

什么是更快的方式来绘制水平?我以为我可以把所有的瓷砖合并成一个位图.但我不知道该怎么做.有任何想法吗?

无论如何这里是我的代码,所以你可以看到问题:

package org.example.tutorial2d;

import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.GestureDetector.OnGestureListener;

import org.example.tutorial2d.Panel;

public class Tutorial2D extends Activity implements OnGestureListener {

GestureDetector gestureScanner;
Panel main;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    gestureScanner = new GestureDetector(this);

    //requestWindowFeature(Window.FEATURE_NO_TITLE);       
    main = new Panel(this);
    setContentView(main);       

}

@Override
public boolean onTouchEvent(MotionEvent me)
{
 return gestureScanner.onTouchEvent(me);
}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
{
 main.handleScroll(distanceX,distanceY);
 return …
Run Code Online (Sandbox Code Playgroud)

android tile

12
推荐指数
2
解决办法
5万
查看次数

标签 统计

android ×1

tile ×1