←動作の確認に戻る
【補足】ソースコードは JavaScript だけ抜き出したものです。
キャンバス要素は<canvas id="bg" width="640" height="640"></canvas>と記述します。
//描画面(キャンバス)の準備
var cvs = document.getElementById("bg");
var ctx = cvs.getContext("2d");
//キー入力
var key = 0;
window.onkeydown = function(event) { key = event.keyCode; }
window.onkeyup = function(event) { key = 0; }
var plCX = 64, plCY = 560;//プレイヤーキャラの中心座標
var jYP = 0;//ジャンプ用の変数 Y座標の変化量
//メイン処理
window.onload = mainProc();
function mainProc() {
//プレイヤーキャラの移動
if( key == 37 ) { plCX -= 16; if( plCX < -48 ) plCX = 688; }//カーソルキー←
if( key == 39 ) { plCX += 16; if( plCX > 688 ) plCX = -48; }//カーソルキー→
//ジャンプするか?
if( key == 32 ) {
if( plCY == 560 ) jYP = -88;
}
//Y座標の変化
jYP += 8;
plCY += jYP;
if( plCY > 560 ) { plCY = 560; jYP = 0; }
//背景を描画する
ctx.fillStyle = "rgba(0,0,0,0.3)";
ctx.fillRect( 0, 0, 640, 624 );
ctx.fillStyle = "gray";
ctx.fillRect( 0, 624, 640, 16 );
//プレイヤーキャラを想定した枠を表示する
ctx.lineWidth = 6;
ctx.strokeStyle = "gold";
ctx.strokeRect( plCX-64, plCY-64, 128, 128 );
//変数の値
ctx.fillStyle = "white";
ctx.font = "32px monospace";
ctx.fillText( "("+plCX+","+plCY+")", 40, 60 );
ctx.fillText( "Y座標の変化量 "+jYP, 40, 120 );
setTimeout( mainProc, 50 );
}
(C)WorldWideSoftware