Zim js событие pressmove не работает вне элементов - PullRequest
0 голосов
/ 02 мая 2020

Я использую библиотеку zim js для своего проекта canvas. Я пытаюсь сделать, продолжая нажимать по кругу. При нажатии и перемещении по кругу кружки должны изменить цвет. Но событие pressmove не начинается за пределами кругов. Вам нужно начать нажимать на круг. если я начну нажимать на круг, другой круг не будет затронут.

Вот zim js события:

https://zimjs.com/tips.html (См. События)

Что я хочу приблизительно?

https://zimjs.com/intro/index.html (См. Пример перетаскивания в ластик. Я хочу это, но без ластик. Только одно нажатие)

Примечание: Я не могу использовать события мыши. Они не работали на сенсорных телефонах.

См. Фрагмент:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>ZIM Frame - Outside Template</title>


        <script src="https://zimjs.org/cdn/1.3.0/createjs.js"></script>
        <script src="https://zimjs.org/cdn/10.9.0/zim.js"></script>
        <!-- use zimjs.com/distill for minified individual functions! -->

        <script>
            var scaling = "fit"; // this will resize to fit inside the screen dimensions
            var width = 600;
            var height = 400;
            var color = white; // or any HTML color such as "violet" or "#333333"
            var outerColor = light;

            var frame = new Frame(scaling, width, height, color, outerColor);
            frame.on("ready", function() {

                var stage = frame.stage;
                var circle1 = new Circle(20, "red").pos(100,40, stage)
                var circle2 = new Circle(20, "blue").pos(200,40, stage)
                circle1.on("pressmove", () => {
                    circle1.color = "green"
                    stage.update()
                    console.log("Circle - 1 || Circles pressmove doesn't work when pressing start the outside")
                })
                circle2.on("pressmove", () => {
                    circle2.color = "green"
                    stage.update()
                    console.log("Circle - 2 || Circles pressmove doesn't work when pressing start the outside")
                })

                var button = new Button(140, 100, "reset", grey, dark).center(stage).tap(() => {
                    circle1.color = "red"
                    circle2.color = "blue"
                    stage.update()
                })
                new Label("Pressmove can be start anywhere", 16).pos(0, 300)
                new Label("When pressing and moving over the circles,", 16).pos(0, 320)
                new Label("circles must be select and change color,", 16).pos(0, 340)
                stage.on("pressmove", () => console.log("Stage !!. Stage pressmove doesn't work when pressing outside the circles"))
                stage.update();

            }); // end of ready
        </script>
    <meta name="viewport" content="width=device-width, user-scalable=no" />
    </head>
    <body>

    </body>
</html>
...