簡體   English   中英

為什么在實例模式下使用p5.js時未定義常量?

[英]Why are constants not defined when using p5.js in instance mode?

我可能在這里遺漏了一些非常明顯的東西。 我可以在全局模式下使用p5.js並使用textAlign的常量沒有問題,例如CENTER。

這是全局模式代碼,它工作正常:

function setup() {
  var canvas = createCanvas(720, 400);  
  canvas.parent('main_canvas');
};

function draw() { 
  textSize(32);
  textAlign(CENTER);
  text("word", 50, 50);
};

但是,當我嘗試在實例模式中使用CENTER時,我得到:

Uncaught ReferenceError: CENTER is not defined:

這是失敗的實例模式代碼:

var s = function (p) {
  p.setup = function() {
    p.createCanvas(720, 400);
  };

  p.draw = function() {
    p.textSize(32);
    p.textAlign(CENTER);
    p.text("word", 50, 50);
  };
};
var myp5 = new p5(s,'main_canvas');

關於我在這里缺少什么的想法?

在全局模式下,所有P5.js函數和變量都將添加到全局名稱空間中。 在實例模式中,所有P5.js函數和變量都被添加到傳遞給sketch函數的變量中(在您的情況下,是您的p變量)。

要使用CENTER變量,您必須通過p變量獲取它。

換句話說,你需要這樣做:

p.textAlign(p.CENTER);

您還必須使用其他變量,如mouseXmouseY

暫無
暫無

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

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