2017-07-20 8 views
0

私はp5 jsを学んで簡単な2次元スネークゲームを作ろうとしていますが、キーボードの上向き矢印を押すと矩形(蛇はまだ存在しません)私は下矢印キーを押したときに、私はyの速度を変更する必要が長方形を上に移動する理由、それはこれが正常に動作します...2DゲームでkeyPressedが反転されました

if (keyCode === UP_ARROW) { 
    s.dir(0,-1); 
} 
else if (keyCode === DOWN_ARROW) { 
    s.dir(0,1); 
} 

function keyPressed() { 

if (keyCode === UP_ARROW) { 
    s.dir(0,1); 
} 
else if (keyCode === DOWN_ARROW) { 
    s.dir(0,-1); 
} 
else if (keyCode === RIGHT_ARROW) { 

    s.dir(1,0); 
} 
else if (keyCode === LEFT_ARROW) { 
    s.dir(-1,0); 
} 
} 


function Snake() { 

    this.x = 0; 
    this.y = 0; 

    this.xspeed=1; 
    this.yspeed=0; 

    this.dir= function(x,y) { 
     this.xspeed=x; 
     this.yspeed=y; 
    } 

    this.update= function() { 
     this.x += this.xspeed; 
     this.y += this.yspeed; 
    } 
} 

を上に移動し、私は理解していません負の値..どんな助け?一般に

答えて

1

、コンピューティングにおいて、図形の原点は、図以下に示すように、左にある数学、とは対照的に、左トップである:

Origins diagramあなたがイメージを何かを移動したい場合はこのための

、コンピューティングでは、あなたがそれ故に、減算する必要があります。

if (keyCode === UP_ARROW) { s.dir(0,-1); } 
else if (keyCode === DOWN_ARROW) { s.dir(0,1); } 

実際にはこれらは0で停止するのではなく、負の数に拡張されますが、これはあなたに考えを与えるはずです。

+0

うわー、クリア!ありがとうございます !! :) –

+0

@RobertoCaravelliこれは主に2Dグラフィックスに適用され、3Dグラフィックスの動作は異なっている –

関連する問題