我已经搜索了网络寻求帮助,虽然看起来像是一个解决方案,但事实证明它并不是很好。对于初学者,我想说我刚刚跳入Android编程(这是我的第一天),我真的通过试验和错误学习我希望如果你能帮助我,你会给我提示而不是粘贴代码在我面前。将图片分割成多个图片
我的地形设置 http://img217.imageshack.us/img217/4654/tileseth.png 结果 http://img199.imageshack.us/img199/7913/resultx.png
我遇到的问题是1它显然不是32×32位分割图像。我试图实现的是将我的大图像分成32 * 32的9 *更小的图像。次要的图像质量扭曲,我无法解决原因。 *我不希望使用9补丁一样,还会有更多然后9个图像很快侥幸的是ATM我有9个图像
我的代码(从互联网上抄袭明显)
tilesetSliced = Bitmap.createScaledBitmap(bmp, 96, 96, true);
tileset[0] = Bitmap.createBitmap(tilesetSliced, 0, 0, 32, 32);
tileset[1] = Bitmap.createBitmap(tilesetSliced, 32, 0, 32, 32);
tileset[2] = Bitmap.createBitmap(tilesetSliced, 64, 0, 32, 32);
tileset[3] = Bitmap.createBitmap(tilesetSliced, 0, 32, 32, 32);
tileset[4] = Bitmap.createBitmap(tilesetSliced, 32, 32, 32, 32);
tileset[5] = Bitmap.createBitmap(tilesetSliced, 64, 32, 32, 32);
一旦我开始工作,我会更有效率的>。 <任何帮助将是巨大的
的上绘制
public void onDraw(Canvas canvas) {
//update();
for(int x=0; x<= mapWidth; x++){
for(int y = 0; y <= mapHeight; y++){
canvas.drawBitmap(tileset[map[x][y]], x *32, y*32, null);
}
}
}
确定一些已经调试的东西1.头颅光我删除停止被破坏的质量(orginally AHD是由于错误)的scaledbitmap然而,我发现,由于某种原因,它认为我的瓷砖组的宽度是64,当它的96任何帮助都会很好。
我怀疑缩放我的图像会起作用,即使我从点x.y(这可能有效)按比例缩小X图像,它会有很多线索和错误,我会精确地拍摄自己的脚。至于scailing down过程,不应该有tilesetSliced从中取得的bmp也是96x96像素(它是一个位图工厂),基本上在我的gameView类中创建工厂tileSet = BitmapFactory.decodeResource(getResources() ,R.drawable.tileset),然后将其传递到地图类上,然后将图像切片并随机生成地图。 – zidsal 2011-04-26 18:46:31
确定一些更多的调试已经清除了某些东西1.我删除了缩小的位图来停止质量被破坏(最初由于bug),但是我发现由于某种原因,它认为我的tileset的宽度是64,当它的96任何帮助都会很好。 – zidsal 2011-04-26 19:09:32
o.k现在我已经修复它由于某种原因把它放在drawable-hdppi中使得它的宽度只能是64像素任何人都知道为什么?编辑与否“。<草被水瓦显示还是被切断/叹气 – zidsal 2011-04-26 19:12:00