0

簡単だと思っていたのですが、そうではないようです。

私はAndroidゲーム開発者を学ぶための簡単なアプリを作っています。現時点では、ユーザーが画面をクリックすると、スプライトが表示されます。スプライトは真っ白な正方形です。コードでそれを変更したいと思います。

私はC#/ XNAに甘やかされていると思います。スプライトが白一色の場合は、描画方法で色を設定できます。ペイント機能を使用しても、ここでは機能しないようです。私は少し調査を行いましたが、すべての解決策が私が探しているものとは完全に一致していないようであり、また非常に複雑です。正確な解決策が見つからない場合は、少なくとももっと簡単に混乱させるものを見つけたいと思っています。これまでの関連コードは次のとおりです。

ビューから:

    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);
        }

スプライトクラスの関連コード:

    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);

}

誰かが私を助けてくれるか、少なくとも私を良い出発点に向けることができれば、それは大きな助けになるでしょう。ありがとう!

4

1 に答える 1

1

新しいキャンバスを作成してビットマップを変更し、この変更されたビットマップを元のキャンバスに戻すことで解決策を見つけました。

于 2012-12-17T09:00:08.360 に答える