簡體   English   中英

如何確保圓心在加工中保持靜止?

[英]How can i make sure that the center of the circle remains static in processing?

我正在使用Unfolding-Maps庫和Processing庫處理此項目。 我遇到了一個代碼,該代碼繪制了一個直徑隨時間增加並最終消失的圓。 但是我面臨的問題是圓的中心隨鼠標的x和y坐標移動,但是我希望它是靜態的,不能根據鼠標的移動而移動,即單擊鼠標時我想要圓的中心保持協調和靜態。

我的代碼如下:

boolean bCircleShow=false;
float opacity;
int diameter=0;
//
void setup () {
  size (400, 300);
  background (255);
  smooth ();
  opacity=255;
}
//
void draw() {
  background (122);
  //stroke (0, 255, 0);
  noStroke();
  fill(255);
  if (bCircleShow) {
    fill(255, 2, 2, opacity);
    ellipse (mouseX, mouseY, diameter, diameter );
    diameter ++;
    opacity--;
    if (opacity<=0) {
      bCircleShow=false; // end
      opacity=255;
      diameter=0;
    }
  }
}
//
void mouseClicked() {
  bCircleShow=true;
}

任何建議,將不勝感激。

當您在屏幕上單擊時,存儲該單擊的鼠標X和鼠標Y,然后在該鼠標X和鼠標Y處繪制圓。 不要使用mouseX和mouseY,因為它們是處理中的預定義變量。

樣例代碼。

boolean bCircleShow=false;
int mx;
int my;
float opacity;
int diameter=0;
//
void setup () {
  size (400, 300);
  background (255);
  smooth ();
  opacity=255;
}
//
void draw() {
  background (122);
  //stroke (0, 255, 0);
  noStroke();
  fill(255);
  if (bCircleShow) {
    fill(255, 2, 2, opacity);
    ellipse (mx, my, diameter, diameter );
    diameter ++;
    opacity--;
    if (opacity<=0) {
      bCircleShow=false; // end
      opacity=255;
      diameter=0;
    }
  }
}
//
void mouseClicked() {
  bCircleShow=true;
  mx=mouseX;
  my=mouseY;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM