Захватить текущую позицию движущегося эллипса в processing.js

Простой вопрос! У меня есть эллипс, движущийся слева направо, мне было интересно, есть ли способ сохранить определенную точку на пути слева направо в переменной

например, когда эллипс достигает позиции X 100 пикселей, сохраните конкретную позицию эллипса в переменной.

Я бы хотел, чтобы эллипс продолжал двигаться слева.

void draw(){     

    background(44,209,216); 

    fill(colourR,250,182);     
    noStroke();    
    ellipse(posX,posY,100,50);          

    posX = posX + speed;

    if(posX == 100){
        store posX in a variable
    }                  
} 

Это тот процесс, который я ищу, проблема в том, что когда я пытаюсь сделать что-то вроде newPosX = posX, они оба продолжают увеличиваться. Как я могу сделать это так newPosX сохраняет текущую позицию posX а также posX продолжает увеличиваться? Также я имею в виду, что newPosX не может просто = 100Я хочу занять позицию posX когда он достигает 100 и сохраняет его в переменной.

1 ответ

Я сделал этот пример, чтобы показать вам, здесь я даю newPosX значение posX так, как вы хотите, если вы протестируете его, вы увидите, что значение newPosX остается, в то время как значение posX продолжает меняться. Возможно, проблема в вашем объявлении переменных.

  int posX, newPosX;

    void setup(){
      size(200,100);
      posX = 0;
      newPosX = 0;
    }

    void draw(){     

        background(44,209,216);    

        posX = mouseX;

        if(posX == 100){
           newPosX = posX;
        }              

        println(posX + " PosX");
        println(newPosX + " newPosX");

    } 

С уважением, Хосе.

Другие вопросы по тегам