Где я ошибаюсь? Когда я ее протестировал, например, если я наберу abc, она будет выводиться на холст aaaaaaaabbbbbcccccc

#function #debugging #constructor #draw #p5.js

#функция #отладка #конструктор #рисовать #p5.js

Вопрос:

 function TextTool(){
//set an icon and a name for the object
this.icon = "assets/icons/texttool.jpg";
this.name = "texttool";

var x = 0;
var y = 0;
var startingX = 0;



this.event = function() {
    if(mouseX > 0 amp;amp;
        mouseX < canvas.width amp;amp; 
        mouseY > 0 amp;amp;
        mouseY < canvas.height
    ) {
        x = mouseX;
        y = mouseY;
        startingX = x;
        return true;
        
    }
    return false;      
};


this.draw = function() {

    if(c.mouseClicked(this.event)) {
        if(keyIsPressed) {
            if(keyCode === ENTER) {
                // Enter key is pressed
                console.log("enter");
                x = startingX;
                y  = 15;
            }
            else {
                text(key, x, y);
                console.log('called');
                x  = 20;
                
            }    
        } 
    }
    else {
        if(keyIsPressed) {
            if(keyCode === ENTER) {
                // Enter key is pressed
                console.log("enter");
                x = startingX;
                y  = 15;
            }
            else {
                text(key, x, y);
                console.log('called');
                x  = 20;
                
            }    
        }
    }   
};
 

}

Я пытаюсь создать текстовый инструмент для своего приложения. Как мне сделать так, чтобы (ввод и вызов) вызывался только один раз. Только это.функция рисования вызывается в функции рисования в файле эскиза. Я должен использовать p5.js библиотека для этого, может кто-нибудь помочь мне сказать, почему я вывожу aaaabbbbcccc, когда я нажал abc. Я использовал https://p5js.org/reference/#/p5/mouseClicked в качестве руководства для функции mouseClicked. Это мой первый раз, когда я использую этот тип функции, как обычно для другого созданного мной инструмента, мне просто пришлось использовать метод нажатия мыши, который теперь кажется намного проще.

Комментарии:

1. Что именно вам нужно сделать?

2. @RuskinWadia Я хочу, чтобы он выводился на экране abc, если я нажимаю abc

3. почему вы проверяете, нажата ли мышь?

4. @RuskinWadia потому что я хочу, чтобы он начинал печатать там, где пользователь нажимает, и начинал снова, если пользователь нажимает снова

5. Хорошо, изучу это.