我一直在试图弄清楚如何在我的资源中削减一个可绘制的东西来制作另一个可绘制的。
我有一个大的drawable包含我将用于在手机上创建游戏地图的所有瓷砖。如果我可以使用ClipDrawable选择我想要的图块而不是在photoshop上手动执行它,我想要它。
(这是我的第一个程序,所以我还不太擅长这个) 这是我到目前为止可以做到的,但我有50种不同类型的瓷砖,所以我认为从同一图像中裁剪它们会更容易。
protected void onDraw(Canvas canvas) {
for(int i = 0; i < Tiles.length; i++){
if(Tiles[i].isVisible()){
/* Make the sprite draw itself to the canvas */
if(Tiles[i].Render == 0){
this.tile4.setBounds(Tiles[i].mySpritePos.x, Tiles[i].mySpritePos.y,
Tiles[i].mySpritePos.x + 26, Tiles[i].mySpritePos.y + 26);
this.tile4.draw(canvas);
}
if(Tiles[i].Render == 1){
this.tile1.setBounds(Tiles[i].mySpritePos.x, Tiles[i].mySpritePos.y,
Tiles[i].mySpritePos.x + 26, Tiles[i].mySpritePos.y + 26);
this.tile1.draw(canvas);
}
}}
}
谢谢!
答案 0 :(得分:0)
不知道如何在给定范围之间进行裁剪,无论如何,我想用clipDrawableObject.setLevel(level);
进行裁剪,其中等级的范围介于0 to 10000
之间。 setBounds
方法(仍在猜测)仅使用给定边界调整图像大小。如果您需要更详细的信息,请查看ClipDrawable.java
的draw(Canvas blabla)
方法。
如果我是你,我更喜欢每个瓷砖的单独图像文件。因为,您在移动设备上加载了一个巨大的图像文件,并且有剪辑操作的图像处理。祝你好运。