(C)WorldWideSoftware
<div>
描画面↓<br>
<canvas id="bg" width="640" height="120"></canvas><br>
</div>
<div>
仮想画面↓<br>
<canvas id="fnt" width="640" height="80"></canvas>
</div>
<input id="txt" value="(C)WorldWideSoftware">
<button onclick="drawFnt()">文字を更新</button>
<a href="font00src.html">ソースコードの確認</a>
<script>
//描画面の準備
var cvs = document.getElementById("bg");
var ctx = cvs.getContext("2d");
//仮想画面の準備
var cvsF = document.getElementById("fnt");
var ctxF = cvsF.getContext("2d");
//仮想画面に文字を描く
function drawFnt() {
tmr = 0;
var txt = document.getElementById("txt");
ctxF.clearRect(0, 0, 640, 80);
ctxF.fillStyle = "#f0f0f0";
ctxF.font = "48px monospace";
ctxF.fillText(txt.value, 20, 60);
}
//メイン処理
var tmr = 0;
function mainProc() {
var h, x, y;
tmr ++;
//文字の背景
for(y = 0; y < 8; y++) {
for(x = 0; x < 40; x++) {
ctx.fillStyle = "rgb(0,"+(x*5)+","+(y*24)+")";
ctx.fillRect(x*16, y*15, 16, 15);
}
}
h = tmr%100;//表示する高さの計算
if(h > 80) h = 80;
//文字を上の部分から描画していく
ctx.drawImage(cvsF, 0, 0, 640, h, 0, 20, 640, h);
}
drawFnt();
setInterval(mainProc, 50);
</script>
←動作確認に戻る