Я хочу, чтобы мой «GamePiece» вращался в центральной точке, когда я нажимаю левую или правую кнопку на клавиатуре. Я учусь и изучаю javascript в школе. Я просмотрел похожие статьи, но нашел их действительно запутанными. Я, вероятно, не собираюсь отвечать в течение следующих 18 часов, так как я пишу это ночью.
JavaScript:
var myGamePiece;
var myBackground;
function startGame() {
myGameArea.start();
myGamePiece = new component(30, 30, "GamePiece.png", 10, 500, "image");
myBackground = new component(656, 270, "PLACE IMAGE HERE", 0, 0, "image");
var button = document.getElementById("Play");
button.style.display = "none";
}
var myGameArea = {
canvas : document.getElementById("myCanvas"),
start : function() {
this.canvas.width = 1300;
this.canvas.height = 600;
this.canvas.style.position = "absolute";
this.canvas.style.top = "267px";
this.canvas.style.left = "303px";
this.context = this.canvas.getContext("2d");
document.body.insertBefore(this.canvas, document.body.childNodes[0]);
this.interval = setInterval(updateGameArea, 20);
window.addEventListener('keydown', function (e) {
myGameArea.keys = (myGameArea.keys || []);
myGameArea.keys[e.keyCode] = (e.type === "keydown");
});
window.addEventListener('keyup', function (e) {
myGameArea.keys[e.keyCode] = (e.type === "keydown");
});
},
clear : function(){
this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
}
};
function component(width, height, color, x, y, type) {
this.type = type;
if (type === "image") {
this.image = new Image();
this.image.src = color;
}
this.width = width;
this.height = height;
this.speedX = 0;
this.speedY = 0;
this.x = x;
this.y = y;
this.update = function() {
context = myGameArea.context;
if (type === "image") {
context.drawImage(this.image,
this.x,
this.y,
this.width, this.height);
} else {
context.fillStyle = color;
context.fillRect(this.x, this.y, this.width, this.height);
}
};
this.newPos = function() {
this.x += this.speedX;
this.y += this.speedY;
};
}
function updateGameArea() {
myGameArea.clear();
myGamePiece.speedX = 0;
myGamePiece.speedY = 0;
if (myGameArea.keys && myGameArea.keys[37]) {myGamePiece.speedX = -1; }
if (myGameArea.keys && myGameArea.keys[39]) {myGamePiece.speedX = 1; }
if (myGameArea.keys && myGameArea.keys[38]) {myGamePiece.speedY = -1; }
if (myGameArea.keys && myGameArea.keys[40]) {myGamePiece.speedY = 1; }
myGamePiece.newPos();
myGamePiece.update();
myBackground.newPos();
myBackground.update();
}
Я хочу, чтобы круглое изображение ("GamePiece") вращалось от его центра при нажатии клавиши.
Извините, я не был ясен
Я хочу, чтобы шар вращался, как будто он катится по земле. Это 2d платформа.
Мне нравится Я хочу, чтобы мяч катился, пока я держу кнопку