我想为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)