今日のイッヌ2

スクラッチとは、全然違った。

スクラッチで、3分で終わることが、何時間もかかってなんか次元が違う気が・・・する。

//canvasの設定(せってい)
let canvas = document.getElementById('canvas');
canvas.width = 640;	//canvasの横幅(よこはば)
canvas.height = 640;	//canvasの縦幅(たてはば)

//コンテキストを取得(しゅとく)
let ctx = canvas.getContext('2d');

//画像(がぞう)のオブジェクトを作成
/*
let img = new Image();
img.src = 'img/figure.png';
*/

/**********************************/
//オブジェクト化して管理しやすくする
let kyara = new Object();
kyara.img = new Image();
kyara.img.src = 'img/innu.png';
kyara.x = 0;
kyara.y = 0;
kyara.move = 0;	
/**********************************/

let key =new Object();
key.up = false;
key.down = false;
key.right = false;
key.left = false;
key.push =  "";

//メインループ
function main() {
	//画像を表示
  ctx.clearRect(0,0,640,640);
  ctx.drawImage( kyara.img, kyara.x, kyara.y );

  addEventListener("keydown", keydownfunc, false);
  addEventListener("keyup", keyupfunc, false);
	//オブジェクト化することで動かせるようになる。
	//ctx.drawImage( img, 0, 0 );
	/**********************************/
  
  if( kyara.move === 0 ) {
    if ( key.left === true){
        kyara.move = 32;
        key.push = 'left';
       }           
       if ( key.up === true){
        kyara.move = 32;
        key.push = 'up';
      }           
      if ( key.right === true){
       kyara.move = 32;
       key.push = 'right';
      }           
      if ( key.down === true){
       kyara.move = 32;
       key.push = 'down';
      } 
    } 

    if(kyara.move > 0) {
        kyara.move -= 4;
        if ( key.push === 'left' ) kyara.x -= 4;
        if ( key.push === 'up' ) kyara.y -= 4;
        if ( key.push === 'right' ) kyara.x += 4;
        if ( key.push === 'down' ) kyara.y += 4;
      }

 	/**********************************/

	requestAnimationFrame( main );
}
//ページと依存(いぞん)している全てのデータが読み込まれたら、メインループ開始
addEventListener('load', main(), false);

/**********************************/
//キーボードが押されたときに呼び出される関数(かんすう)
function keydownfunc( event ) {
	let key_code = event.keyCode;
  if( key_code === 37 ) key.left = true;
	if( key_code === 38 ) key.up = true;
	if( key_code === 39 ) key.right = true;
	if( key_code === 40 ) key.down = true;
	//if( key_code === 37 ) console.log("左 押した");
	//if( key_code === 38 ) console.log("上 押した");
	//if( key_code === 39 ) console.log("右 押した");
	//if( key_code === 40 ) console.log("下 押した");
	event.preventDefault();
}


//キーボードが放(はな)されたときに呼び出される関数
function keyupfunc( event ) {
	let key_code = event.keyCode;
  if( key_code === 37 ) key.left = false;
	if( key_code === 38 ) key.up = false;
	if( key_code === 39 ) key.right = false;
	if( key_code === 40 ) key.down = false;
}
/**********************************/

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA