いいえ。私は2つのキャンバスを持っています。最初のキャンバス(rect1)は、ゲームボード上でランダムに移動する予定です。 2番目の(ゾンビ)は、rect1に従うことになっていますが、ちょうどその場所の上を走っています。ここで私が間違っているものを見つけ出すのに十分なはずだと思う最も重要なコードです。キャンバスに別のキャンバスを描こうとすると、狂ってしまう
var rect1={
x:300,
y:150,
width:8,
velX:3,
velY:3
};
var zombie={
x: 100,
y: 100,
width: 10,
velX: 3,
velY: 3
};
if (zombie.x > rect1.x){
zombie.velX *= -1;
}
if (zombie.y > rect1.y){
zombie.velY *= -1;
}
if (zombie.x == rect1.x){
zombie.velX *= 0;
}
if (zombie.y == rect1.y){
zombie.velY *= 0;
}
zombie.x+= zombie.velX;
zombie.y+= zombie.velY;
ここでは、(赤)ゾンビがどのように動作するかを見ることができますフィドルhttps://jsfiddle.net/Scrubben/easvqk6m/1/です。 2つのrectを持っていて申し訳ありません。jsfiddleでよくコメントしていないのですが、あなたはそのアイデアを得るべきです。あなたが私に明確にするか、私にもう少しコードを追加したいなら、私に教えてください!ありがとう
訂正:あなたは1枚のキャンバスが、2つの異なる白い長方形、あなたが描いている1つの赤い四角形を持っています。 –