0

当我在视图上设置背景时。

//background
    Bitmap back_bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.background); 
    BitmapDrawable backTiled = new BitmapDrawable(back_bmp);
    backTiled.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
    backTiled.setBounds(0, 0, this.getWidth(), this.getHeight());
    this.setBackgroundDrawable(backTiled);

我的动画对象根本不渲染

    public void render(Canvas canvas) {
    elaine.draw(canvas);
    }

    public void update() {
    elaine.update(System.currentTimeMillis());
    }

虽然没有背景设置它画得很好。

4

1 回答 1

0

在我看来,我称背景为背景,虽然它可能奏效了,但实际上效果并不好。

在重构和放弃之后,我回到了我认为它应该如何工作的方式。我应该检查一些不起作用的东西(只是因为当我第一次尝试它时,代码没有设置边界或有效地加载图像。)可能会再次起作用。

我做到了,并意识到如果在渲染中加载,一切都会完美无缺。

    public void render(Canvas canvas) {
    //background
    Bitmap _back_bmp = BitmapFactory.decodeResource(mainContext.getResources(), R.drawable.background); 
    backTiled = new BitmapDrawable(_back_bmp);
    backTiled.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
    backTiled.setBounds(0, 0, this.getWidth(), this.getHeight());
    backTiled.draw(canvas);
    elaine.draw(canvas);

    }
于 2012-08-20T19:47:08.110 回答