@Valeriy1997

Как раpставить обекты в canvas?

Недавно изучаю javaskript . И ещё меньше canvas. Хочу доделать свой диалоговый квест) Карта там генерируеться пока случайным образом , подскажите пожалуйста что изметь в коде , чтоб можно было карту редактировать вручную , на ява скрипте. (разстановка квадратов с задаными координатами) Вот код который отвечает за случайную генерацию :
//генерация ландшафта
function createWorld()
{
	console.log('Creating world...');

  //создание пустоши
	for (var x=0; x < worldWidth; x++)
	{
		world[x] = [];

		for (var y=0; y < worldHeight; y++)
		{
			world[x][y] = 0;
		}
	}

// раставляем скалы случайным образом
	for (var x=1; x < worldWidth; x++)
	{
		for (var y=1; y < worldHeight; y++)
		{
			if (Math.random() > 0.75)
			world[x][y] = 0;
		}
	}

Кто в теме помогите пожалуйста или скиньте ссылку где проето почитать
  • Вопрос задан
  • 355 просмотров
Решения вопроса 4
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
javaskript, раpставить, обекты

Писать вы учитесь еще меньше?

Все, что могу вам предложить: Учебник JS, а потом Учебник Canvas и только потом квест.
Ответ написан
@GreatRash
Читайте про JSON, а потом нагуглите Tiled.
Ответ написан
Комментировать
copal
@copal
𝄞 ...оооо baby
Вот есть о рисовании - рисование фигур с помощью canvas.
Ответ написан
Комментировать
Dit81
@Dit81
Security researcher, pentester, internet-marketer
Вам нужно смотреть в сторону TileSet и TileMap. Хранить данные карт можно просто в массиве или json.
Может поможет: Tiled Map Editor, TileMap для Cocos2d-x и TileMap для Phaser
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Valeriy1997 Автор вопроса
Почти весь код есть уже. Сейчас мир создается случайным образом. Весь канвас это пространство по которому можно ходить , дальше случ образом скалы(преграды) Проблема в том , чтоб скриптом задать координаты скал (никакого сложного редактора карт) просто задать положение скал(пространства по которому перс неможет ходить) я думал достаточно будет отредактировать эту часть кода : for (var x=1; x < worldWidth; x++) { for (var y=1; y < worldHeight; y++) { if (Math.random() > 0.75) world[x][y] = 0; } } и вместо Math.random задать координаты
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект
30 апр. 2024, в 23:39
3000 руб./за проект