2016-04-02 8 views
0

Я пытаюсь оживить объект. Для рисования объекта мне нужно использовать холст. Я могу отправить canvas в конструктор объекта только из функции onDraw. Но при этом на каждом этапе анимации создается новый объект.Как отправить Canvas для объекта из функции onDraw?

public class DrawView extends View { 
    public static Paint paint; 
    public DrawView(Context context) { 
     super(context); 
     paint = new Paint(); 
     paint.setColor(Color.BLACK); 
    } 

    @Override 
    public void onDraw(Canvas canvas) { 
     Line s = new Line(10, 10, canvas); 
     super.onDraw(canvas); 
     s.move(); 
     invalidate(); 
    } 
} 

class Line{ 

    private float x, y; 
    private Canvas canvas; 

    public Line(float x, float y, Canvas canvas) { 
     this.x = x; 
     this.y = y; 
     this.canvas = canvas; 
    } 

    public void move(){ 
     draw();  
     x++; 
     y++; 
    } 

    public void draw(){ 
     canvas.drawLine(x, y, x + 5, y + 5, DrawView.paint); 
    } 

} 

ответ

0

Вы имеете в виду это ???

public void move(Canvas canvas){ 
    draw(Canvas canvas);  
    x++; 
    y++; 
} 

public void draw(Canvas canvas){ 
    canvas.drawLine(x, y, x + 5, y + 5, DrawView.paint); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^