Ivan-P
@Ivan-P

Как вернуть свойства объекта к прототипным/стартовым?

Игра змейка. Есть два проптотипа, змейти и событий игрового поля.
protoSnake =  {
	body: ['02','01','00'],
        speed: 180,
	score:  0,
	gameTime:  0,
	level: 0,
	levelStep: 2
};
protoData = {
	curDir: direction.right,
	newCell: 0,
	foodCoords: '08',
	foodUse: 'grow',
	foodChanse: 20	
};

в начале игры создаю два соответствующих обьекта куда копирую свойства из прототипов
var snake = {};
snake.__proto__ = protoSnake;
var gameData = {};
gameData.__proto__ = protoData;

Есть кнопка РЕСТАРТ, которая должна сбрасывать все свойства объектов к прототипным и запускать игру, пробую вот так но что-то не так. Что?
restart.on('click', function(){
	delete snake;
	var snake = {};
	snake.__proto__ = protoSnake;

	delete gameData;
	var gameData = {};
	gameData.__proto__ = protoData;

	controller();
	return false;
});
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
copal
@copal
𝄞 ...оооо baby
Упрощенный вариант того, что Вам нужно -
var Snake = (function(){
	function Snake(){
			this.body = [];
			this.score = 180;
			this.gameTime = 0;
			this.level = 0;
			this.levelStep = 0;
	}

	return Snake;
})();

var snake = new Snake(); // у этого объекта свойства по умолчанию
...
...
snake = new Snake(); // теперь присваеваем свойству snake новый объект с свойствами по умолчанию
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы