Здесь:
head.setYInt(head.getYInt - 50);
Кажется, вы намереваетесь вызвать метод setYInt()
для головного объекта.И, скорее всего, вы хотели использовать от head.getYInt()
до сначала для получения текущего значения Y.
Итак: либо используйте методы getter / setter повсеместно, либо (не рекомендуется),просто получите доступ к соответствующим полям.
Помимо этого:
private Triangle head = new Triangle(120, 500, 50, 50, true);
...
public Arrow(Canvas _canvas) {
Triangle head = new Triangle(120, 500, 50, 50, true);
Не имеет особого смысла: вы уже инициализировали head
,делать это снова не имеет смысла.Хуже того: вы на самом деле не инициализируете заголовок своего поля в конструкторе, вы создаете локальную переменную, инициализируете ее, а затем забываете об этом.