Нужно, чтобы астероид пролетал за границы экрана и потом снова вылетал с другой стороны. И так по-кругу. Помогите, пожалуйста (Я новичок и делаю чисто в обучающих целях, не судите код строго :) )
HTML:
<h2>14) Анимация Canvas</h2>
JS:
window.onload = () => {
let canvas = document.querySelector('#canvas2');
let ctx = canvas.getContext('2d');
// Background
let backgroundImg = new Image();
backgroundImg.src = 'https://img1.goodfon.ru/original/640x480/2/bf/kosmos-zvezdy-planeta-5363.jpg';
// Main objects
let asteroid = new Image();
asteroid.src = 'img/asteroid.png';
let asteroid2 = new Image();
asteroid2.src = 'img/asteroid.png';
let x = 0;
let y = getRandomNum(0, 400);
backgroundImg.onload = () => {
ctx.drawImage(asteroid, x, y, 75, 75);
}
draw();
function draw() {
ctx.drawImage(backgroundImg, 0, 0, 640, 480);
ctx.drawImage(asteroid, x, y, 75, 75);
let inter = setInterval(moveAsteroid, 5);
function moveAsteroid() {
if(x == 715) {
clearInterval(moveAsteroid);
}
else {
ctx.clearRect(0,0, 640, 480);
ctx.drawImage(backgroundImg, 0, 0, 640, 480);
ctx.drawImage(asteroid, x, y, 75, 75);
x++;
}
}
}
}
function getRandomNum(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
Скорее всего вам будет достаточно следующего:
function moveAsteroid() {
if(x == 715) {
clearInterval(moveAsteroid);
}
else {
ctx.clearRect(0,0, 640, 480);
ctx.drawImage(backgroundImg, 0, 0, 640, 480);
ctx.drawImage(asteroid, x, y, 75, 75);
x++;
}
if (x >= width)
{
x = 0;
}
}
Кусок
if (x >= width)
{
x = 0;
}
переместит ваш астероид на другую сторону экрана, как только он улетит слишком далеко вправо.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Изучая react наткнулся на интересную с моей точки зрения конструкцию в react-bootstrap:
Надо сделать чтобы при клике на один из option, в input вставлялся optioninnerHTML
Мне нужно сделать анимационные линии при наведении на кнопку, от середины нижней линииЛиния должна идти в разные стороны и менять цвет