タイポグラフィ
文字(テキスト)を画面ウィンドウに表示するには、text()関数を使います。デフォルト以外のフォントを使用する場合はフォントデータオブジェクト(p5.Font)を作り、textFont()関数で指定します。フォントデータファイルの設定
OpenType Font(otf形式)のファイルを、p5js用のフォントデータに変換します。ファイルはスケッチを実行するhtmlファイルからの相対パスで指定します。- ・loadFont()関数を使って、p5.Fontを作る。
- ・textFont()関数を使って、上で読み込んだフォントデータを設定。
【例】let myFont;
function preload() {
myFont = loadFont("fontdata.otf"); //使用するフォントの読み込み
}
function setup() {
textFont(myFont); //使用するフォントの設定
textSize(36); //文字サイズの指定
text("書きたい文字", 10, 50);
}
文字の表示
text()関数で文字を表示できます。
text("表示する文字列", x座標, y座標) 【例】 text("文字文字", 20, 140);
text('表示する文字列' x座標, y座標) 【例】 text('a', 20, 120);
text(数字, x座標, y座標) 【例】 text(10, 20, 100);
text(変数名, x座標, y座標) 【例】 text(mouseX, 20, 100);
x座標とy座標の値は、デフォルトでは、文字列左下角の位置を表します。
これはtextAlign()関数を使って変更できます。
textAlign(alignX) textAlign(alignX, alignY)alignXは、水平方向の位置の指定で、LEFT, CENTER, RIGHTのいずれか
alignYは、垂直方向の位置の指定で、TOP, BOTTOM, CENTER, BASELINEのいずれか
また、文字の描画色はfill()関数で変更します。
次の例は、マウスの位置に描いた円の、中央の座標を表示しています。表示する文字列はマウスの位置によって、動的に変化します。
マウスに付いて回転
【リスト 文字の表示】
function setup() {
createCanvas(200, 200);
textSize(20);
fill(200, 0, 0);
}
function draw() {
background(0);
ellipse(mouseX, mouseY, 15, 15);
text("(" + mouseX + "," + mouseY + ")", mouseX+10, mouseY+5);
}