【发布时间】:2021-10-10 19:08:41
【问题描述】:
我有以下代码块。
我正在尝试使用深色的黑色背景。我已经能够在这个黑色画布上画东西了。现在,我正在尝试在这个黑色背景上添加文本。
let canvasx = 400;
let canvasy = 400;
let defaultTextSize = 50;
let defaultFontType = 'Georgia';
let defaultTextContent = "P5DRAWINGTREEDEFAULTTEXT";
let defaultTextX = 0;
let defaultTextY = 0;
function setup() {
defaultTextX = canvasx / 2;
defaultTextY = canvasy / 2;
createCanvas(400, 400);
}
function draw() {
background(0);
doTheWords();
}
function doTheWords() {
setupDefaultTextStyle()
testSimpleTextOne();
}
function setupDefaultTextStyle() {
fill(0, 102, 153, 51);
textFont(defaultFontType);
textSize(defaultTextSize);
textAlign(CENTER, CENTER);
}
function testSimpleTextOne() {
text(defaultTextContent, defaultTextX, defaultTextY);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script>
除零以外的任何值,用于背景(0);我可以看到我的文字。我输入零的那一刻,文本消失了,但绘图的其余部分(我正在绘制的实际艺术,未在上面的代码中显示)保持原样。
为什么 background(0) 会画掉文本?
注意:文本颜色可以是任何颜色,例如纯白色,但问题仍然存在。
更新 1
我将文本代码移至 setupDefaultTextStyle。
function setupDefaultTextStyle() {
fill(0, 102, 153, 51);
textFont(defaultFontType);
textSize(defaultTextSize);
textAlign(CENTER, CENTER);
text(defaultTextContent, defaultTextX, defaultTextY);
}
现在,我得到了显示。所以,问题解决了,但我还是很好奇,为什么 text 不能作为一个单独的函数调用?
【问题讨论】:
-
当我执行你的代码时,我可以看到黑色背景顶部的文本。好像无法重现
-
我直接在 P5 Web Editor 上运行它。你能试一试吗? editor.p5js.org
-
我更新了您的问题以使用可运行的 sn-p。请在将来使用它。欲了解更多信息stackoverflow.com/questions/67410651/…
-
我不知道 P5 也可以作为可运行的。我会确保未来的问题有可运行的代码。
标签: javascript p5.js