簡體   English   中英

我如何編碼以便每次運行時單擊 p5.js 中的按鈕?

[英]how can i code so that when i click on button in p5.js everytime it runs?

有什么辦法可以讓我每次單擊按鈕時它都必須連續運行。我每次都必須刷新它才能每次運行它。 無論如何,還有一件事是在按鈕中添加列表,例如當我單擊按鈕時,它必須向我顯示更多選項,或者我必須每次創建不同的按鈕才能像菜單一樣顯示它

var playAnim=false;
var img1
let posX=0
let posY=0
let button;
const rightwall=350;
function preload(){
  img1=loadImage("slag.jpg")
}
function setup() {
  createCanvas(600, 600);
  button =createButton('CLICK ME');
  button.position(250,300);
  button.mousePressed(changeBG);
  noLoop()
}

  function changeBG() {
  let val = random(255);
  background(val);
  loop();
  playAnim=true;
}

function draw() {
  background(220);
  fill('red');
  rect(320,75,170,160)
  fill('grey');
  rect(posX,170,70,30)
  img=image(img1,posX,posY-280,180,200)
  
  posX=constrain(posX+1,0,rightwall-30)
  posY=constrain(posX-1,posY,height-20)
  
}

我想知道我如何編碼或我可以添加什么代碼,以便每當我點擊按鈕時它都會運行。它不能停止,或者我不必每次都刷新它

當 animation 結束時,重置坐標posXposY

posX = constrain(posX+1,0,rightwall-30)
posY = constrain(posX-1,posY,height-20)
if (posX == rightwall-30) {
    posX=0
    posY=0
}

單擊按鈕時切換 animation:

function changeBG() {
    let val = random(255);
    background(val);
    if (playAnim) {
        noLoop();
        playAnim = false;
    } else {
        loop();
        playAnim = true;
    }
}

 var playAnim=false; var img1 let posX=0 let posY=0 let button; const rightwall=350; function preload(){ img1=loadImage("https://raw.githubusercontent.com/Rabbid76/PyGameExamplesAndAnswers/master/resource/icon/Bird64.png") } function setup() { createCanvas(600, 600); button =createButton('CLICK ME'); button.position(250,300); button.mousePressed(changeBG); noLoop() } function changeBG() { let val = random(255); background(val); if (playAnim) { noLoop(); playAnim = false; } else { loop(); playAnim = true; } } function draw() { background(220); fill('red'); rect(320,75,170,160) fill('grey'); rect(posX,170,70,30) image(img1,posX,posY-280,180,200) posX = constrain(posX+1,0,rightwall-30) posY = constrain(posX-1,posY,height-20) if (posX == rightwall-30) { posX=0 posY=0 } }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>


或者,您可以使 animation 依賴於playAnim

function changeBG() {
    let val = random(255);
    background(val);
    playAnim = !playAnim;
}
if (playAnim) {
    posX = constrain(posX+1,0,rightwall-30)
    posY = constrain(posX-1,posY,height-20)
    if (posX == rightwall-30) {
        posX=0
        posY=0
    }
}

 var playAnim=false; var img1 let posX=0 let posY=0 let button; const rightwall=350; function preload(){ img1=loadImage("https://raw.githubusercontent.com/Rabbid76/PyGameExamplesAndAnswers/master/resource/icon/Bird64.png") } function setup() { createCanvas(600, 600); button =createButton('CLICK ME'); button.position(250,300); button.mousePressed(changeBG); } function changeBG() { let val = random(255); background(val); playAnim =;playAnim; } function draw() { background(220); fill('red'), rect(320,75,170;160) fill('grey'), rect(posX,170,70,30) image(img1,posX,posY-280,180,200) if (playAnim) { posX = constrain(posX+1,0,rightwall-30) posY = constrain(posX-1,posY,height-20) if (posX == rightwall-30) { posX=0 posY=0 } } }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>

暫無
暫無

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

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