Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопрос по генерации случайных чисел (https://javascript.ru/forum/misc/76668-vopros-po-generacii-sluchajjnykh-chisel.html)

Triglav86 01.02.2019 14:06

Вопрос по генерации случайных чисел
 
Добрый день. Обучаюсь JS пару месяцев. Пытаюсь написать простую игру с падающими предметами на чистом JS, но столкнулся с проблемой: не получается сделать случайное появление падающих предметов. Перечитал много литературы, но так и не нашел ответа. Несколько раз забрасывал эту затею, но всё же хочу знать!

Писал случайную смену цвета для блока кубиков. Если пишу в отдельном JS файле код не работает хотя точно подключен к html. При написании в html всё работает.

j0hnik 01.02.2019 14:40

Предполагаю пытаетесь изменить цвет у еще несуществующего элемента, скрипт подключайте после элемента которому цвет меняете.

Triglav86 01.02.2019 15:41

var cvs = document.getElementById("canvas");
var ctx = cvs.getContext("2d");

var tank1 = new Image();
var mario = new Image();

tank1.src = "img/1.png";
mario.src = "img/3.png";

function draw (x, y) {
    
    ctx.drawImage(tank1, 100, 100);
    ctx.drawImage(mario, 100, 114);
}

tank1.onload = draw;
mario.onload = draw;


Подскажите пожалуйста как с помощью Match.floor(Match.random()*100+1); ( или какого другого кода ) вернуть случайное число на место X ctx.drawImage(mario, X, 114);

j0hnik 01.02.2019 15:49

случайное число от 0 до 100 ?
Math

Triglav86 01.02.2019 15:57

Прошу прощения, опечатался когда сюда писал :)

При присваивании значения ctx.drawImage(mario, X, 114); ничего не происходит.
Подскажите пожалуйста через какую команду присвоить это значение

Dilettante_Pro 01.02.2019 16:29

<canvas id="canvas" width="300px" height="300px"></canvas>
<script>
var cvs = document.getElementById("canvas");
var ctx = cvs.getContext("2d");

var tank1 = new Image();
var mario = new Image();

tank1.src = "https://javascript.ru/cat/list/jquery_54.png";
mario.src = "https://javascript.ru/cat/list/donkey.gif";

function draw () {
    var x = Math.floor(Math.random() * 100 + 1);
    ctx.drawImage(tank1, 100, 100);
    ctx.drawImage(mario, x, 114);
}

//tank1.onload = draw;
mario.onload = draw;
</script>


Часовой пояс GMT +3, время: 21:41.