{lang: ‘ru’}

javascript методы объекта, javascript создать объект, создание объектов javascriptКак я и говорил в предыдущей части статьи здесь будет рассмотрено некое подобие игры, в которой ключевое место занимают объекты и создание объектов JavaScript. Теоретическая часть находится тут.

Ну что же, приступим! Суть игры такова: при добавлении объекта на игровое поле, он получает случайный цвет и позицию и начинает двигаться. При клике на объект, он исчезает и начисляются призовые очки. То есть будет реализовано на JavaScript движение объектов.

Для начала создайте папку и назовите её «MyGame» или как Вам больше нравится. В этой папке создайте 2 файла: index.html и script.js. Теперь можно приступить к написанию скрипта игры.

Первым делом напишем свою функцию получения случайного числа. Эта функция нам понадобится для получения случайного цвета и для получения случайной высоты.

function random(min, max)
{
	var res = Math.random() * (max - min) + min;
	res = Math.round(res);
	return res;
}

Теперь нужно создать объект, который мы будем передвигать. Объект будет содержать поля и JavaScript методы объекта.

var obj = {
	counter: 0, // счетчик объектов
	colors: ['red', 'blue', 'green', 'yellow', 'purple', 'aqua', 'orange'], //перечисление цветов нашего объекта
	speed: 100, // скорость движения объекта
	addElem: function()
	{
		var mainEl = document.getElementById('main'); // получение игрового поля, по его Id
		var divEl = document.createElement('div'); // создаем div
		divEl.setAttribute('class', 'act'); // назначаем созданному div'у атрибуты
		mainEl.appendChild(divEl); // добавляем его на игровое поле
		var color = this.colors[random(0, this.colors.length - 1)]; // получаем случайный цвет
		divEl.style.background = color; // задаем нашему div'у цвет фона
		this.addClick(divEl); // добавляем обработчик на клик
		this.move(divEl); // начинаем двигать div
	},
	move: function(elem)
	{
		var top = random(0, 580);
		var left = 0;

		elem.style.top = top + "px"; // задаем стартовую позицию
		setInterval(function(){
			left += 3;
			elem.style.left = left + "px";
			if( left >= 600 )
			{
				left = -60;
			}
		}, this.speed)
		/*Задаем интервал, с которым будет передвигаться объект. Первый параметр - функция, передвигает объект с лева на право, 3px в секунду. Второй параметр - скорость передвижения*/
	},
	addClick: function(elem)
	{
		var scope = this; // передаем ссылку на объект
		var pEl = document.getElementById('stat'); // получение поля подсчета игровой статистики
		elem.onclick = function(){
			var mainEl = document.getElementById('main'); // получение игрового поля, по его Id
			mainEl.removeChild(elem); // удаляем объект по которому кликнули
			scope.counter += 10; // увеличиваем счет на 10
			pEl.innerHTML = "Результат: " + scope.counter; // выводим результат в код HTML
			if(scope.counter == 100)
			{
				scope.speed -= 50; // уменьшаем скорость
				scope.counter = 0; // обнуляем счетчик
			}
		}
	}
}

После чего нужно создать функцию, которая будет вызывать метод addElem

function add()
{
	obj.addElem();
}

На этом редактирование файла script.js заканчивается и мы приступаем к редактированию index.html

<html>
<head>
	<title>JavaScript</title>
	<style>
		#main{
			border: 1px solid black;
			width:600px;
			height:600px;
			background: #EEE;
			margin: 0 auto;
			position: relative;
			overflow: hidden
		}
		.act{
			background: black;
			width: 10px;
			height: 10px;
			position: absolute;
		}
		#first{
			top: 100px;
			left: 200px;
		}
	</style>
</head>
<body>
	<p id = "stat"></p>
	<div id = "main"></div>
	<p align = "center"><button onclick = "add()">ADD</button></p>
	<script type="text/javascript" src="script.js"></script>
</body>
</html>

В этой строке будет отображаться игровой счет

<p id = "stat"></p>

Игровое поле

<div id = "main"></div>

Кнопка, которая добавляет объекты в игру

<p align = "center"><button onclick = "add()">ADD</button></p>

И, чтобы всё это работало, нам нужно подключить сам скрипт

<script type="text/javascript" src="script.js"></script>

Ну, собственно говоря, это всё. У нас должно получиться что-то вроде этого:

javascript методы объекта, javascript создать объект, создание объектов javascript, javascript движение объектов

В этой статье мы повторили, как в JavaScript создать объект, реализовали методы объекта и создали игру! Ура! =)


Получайте новые статьи блога прямо себе на почту