Причина, по которой вы не можете этого сделать, заключается в том, что все три типа созданы плагином и не зависят друг от друга.
MouseEvent.MOUSE_DOWN запускается, как только вы нажимаете на интерактивный объект.
MouseEvent.MOUSE_UP запускается, как только вы отпускаете мышь, это не зависит от щелчка мыши, запустившего MOUSE_DOWN в том же InteractiveObject.
MouseEvent.CLICK будет запущен только тогда, когда оба события происходят в одном и том же объекте без курсора, оставляющего объект между внутренним указателем мыши вниз и мыши вверх.
Таким образом, вы можете видеть, что есть простой случай, или даже два, в котором оба MOUSE_DOWN и MOUSE_UP запускаются, но CLICK не вызывается, потому что событие не является CLICK.
Кроме того, возможность просто отправлять событие MouseEvent.CLICK делает ненужным создание ложного взаимодействия с пользователем, вызывая несколько событий мыши, когда требуется только одно. Было бы неловко отслеживать каждый объект, нажатый в приемнике мыши, чтобы убедиться, что нажатие клавиши вверх также должно вызывать щелчок. Вам также необходимо удалить ссылки, когда произошло событие ROLL_OUT.
Короче говоря, событие CLICK действительно намного больше, чем события MOUSE_DOWN и MOUSE_UP. Он также управляет тем, что события происходили последовательно и на одном и том же экранном объекте, не покидая объект. Когда это происходит, и ТОЛЬКО когда это происходит, flash отправляет событие CLICK.