Получение неперехваченной ошибки: неверный аргумент: ноль. в Дарте

Я пытаюсь нарисовать прыгающий мяч на холсте, созданном с помощью dart и html, но я продолжаю получать сообщение об ошибке Uncaught Error: Invalid argument: null. Что мне нужно изменить?

Я новичок в дартс, и я использую этот пример, чтобы учиться

Код находится по адресу https://dartpad.dartlang.org/44f020233c9636f43087d235f96b1b4e.

Я хочу, чтобы мяч на холсте подпрыгивал на холсте, по которому щелкнули.


person john    schedule 23.04.2019    source источник


Ответы (1)


Ошибка здесь действительно вводит в заблуждение (вы должны заявить об ошибке), но проблема в том, что переменная canvas равна null. В файле HTML холст имеет идентификатор surface, поэтому вы должны использовать:

canvas = querySelector('#surface');
person Alexandre Ardhuin    schedule 23.04.2019
comment
Спасибо... Я внес изменения и изменил суть на dartpad.dartlang.org/44f020233c9636f43087d235f96b1b4e . Теперь я получаю новую ошибку Uncaught Error: Invalid argument: null - person john; 23.04.2019
comment
Проблема в объявлении конструктора Ball. Используйте Ball(this.radius); вместо Ball(double radius) { radius; } . - person Alexandre Ardhuin; 23.04.2019
comment
Извините, я знаю, что это раздражает, но прослушиватель событий mousedown не работает. Не могли бы вы мне помочь? - person john; 23.04.2019
comment
2 проблемы: используйте canvas.onMouseDown.listen(doMouseDown); вместо canvas.addEventListener("mousedown", doMouseDown); и используйте event.page.x вместо event.pageX - person Alexandre Ardhuin; 23.04.2019
comment
Какие изменения мне нужно внести, чтобы мяч двигался при щелчке мыши?? - person john; 26.04.2019