目录
上一篇教程,我们学习了如何使用P5JS绘制方块,如果大家有认真完成作业,那P5JS的基本用法,你应该已经掌握了,请注意,本系列课程具有连续性特点,应尽可能掌握前一节课程内容后,再学习本章节。
上图为俄罗斯方块游戏的界面布局图,我们将通过学习P5JS的text()函数以及和文字格式相关的函数来完善游戏界面。
一、标题区
function setup() {
createCanvas(550, 550);
}
function draw() {
background(49);
// 标题区文本,以居中方式显示
// 第一个参数为水平对齐,可选参数:LEFT / CENTER / RIGHT
// 第二个参数为垂直对齐,可选参数:TOP / BOTTOM / CENTER / BASELINE
textAlign(CENTER, CENTER);
// 无描边
noStroke();
// 指定字体大小
textSize(24);
// 指定字体颜色
fill(200);
// 文本及定位信息
text("消失的方块", 460, 50);
textSize(12);
fill(96);
text("P5学院", 460, 50 + 32);
}
new p5();
二、玩法区
function setup() {
createCanvas(550, 550);
}
function draw() {
background(49);
//将静态信息定义成函数,尽可能让draw()函数结构清晰。
// 绘制标题区
this.drawTitle();
// 绘制玩法区
this.drawDesc();
}
function drawTitle() {
// 标题区文本,以居中方式显示
// 第一个参数为水平对齐,可选参数:LEFT / CENTER / RIGHT
// 第二个参数为垂直对齐,可选参数:TOP / BOTTOM / CENTER / BASELINE
textAlign(CENTER, CENTER);
// 无描边
noStroke();
// 指定字体大小
textSize(24);
// 指定字体颜色
fill(200);
// 文本及定位信息
text("消失的方块", 460, 50);
textSize(12);
fill(96);
text("P5学院", 460, 50 + 32);
}
function drawDesc() {
// 对齐方式:左对齐
textAlign(LEFT);
noStroke();
textSize(12);
fill(96);
text("w / W" ,420, 400); text("- 旋转" , 465, 400);
text("a / A" ,420, 430); text("- 左移" , 465, 430);
text("d / D" ,420, 460); text("- 右