我正在尝试做一些我认为很简单但显然不是的事情!
我正在制作一个简单的应用程序来学习 Android 游戏开发。此刻,用户点击屏幕并显示一个精灵。精灵只是一个纯白色的正方形。我想在代码中更改它。
我想我被 C#/XNA 宠坏了,如果一个精灵是纯白色的,你可以在 draw 方法中设置颜色。即使我使用了绘画功能,这似乎也不起作用。我做了一些研究,但所有的解决方案似乎都不是我想要的,而且也很复杂。如果我找不到确切的解决方案,我希望找到至少更简单的东西。到目前为止,这是相关的代码:
从观点来看:
private Sprite createSprite(int resouce) {
Bitmap bmp = BitmapFactory.decodeResource(getResources(), resouce);
return new Sprite(this, bmp, touchX, touchY);
视图 onDraw 方法:
if (touched == true)
{
canvas.drawColor(colors[nextColor]);
lastColor = colors[nextColor];
//add bitmap to array
sprites.add(createSprite(R.drawable.test));
//draw sprites
for (Sprite sprite : sprites) {
sprite.onDraw(canvas);
}
sprite类的相关代码:
private Paint paint = new Paint();
public Sprite(DaphnyView daphView, Bitmap bmp, int positionX, int positionY) {
width = bmp.getWidth();
height = bmp.getHeight();
DaphView = daphView;
Bmp = bmp;
PositionX = positionX;
PositionY= positionY;
paint.setColor(Color.GREEN);
}
public void onDraw(Canvas canvas) {
canvas.drawBitmap(Bmp, PositionX, PositionY, paint);
}
如果有人可以帮助我或至少为我指出一个好的起点,那将是一个很大的帮助。谢谢!