2015-07-12 1 views
0

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

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

Когда символ вращается, он проходит определенное количество, а затем вращается в другом направлении на определенную величину. Затем он повторяется. Как заставить его просто вращать в одном направлении, а не чередовать (и просто все время в одном и том же направлении).

Rotate сценарий:

self.rotationy = 0; 
self.rotationx = 0; 
self.turnLeft = function() { 
    self.rotationy -= 0.1; 
}; 
self.turnRight = function() { 
    self.rotationy += 0.1; 
}; 
self.move = function() { 
    var posX = Math.sin(self.rotationy); 
    var posZ = Math.cos(self.rotationy); 
    self.locationx += posX + 3; 
    self.locationy += posZ + 3; 
}; 

Если это важно, вот скрипт обновления:

self.update = function() { 
    self.hunger -= 0.003; 
    self.updateColour(); 
    if (self.hunger <= 0) { 
     self.die(); 
    } else if (self.hunger >= 1) { 
     self.die(); 
    } 
    if (self.locationx <= 20) { 
     self.locationx = canvas.width - 21; 
    } else if (self.locationx >= canvas.width - 20) { 
     self.locationx = 21; 
    } else if (self.locationy <= 20) { 
     self.locationy = canvas.height - 21; 
    } else if (self.locationy >= canvas.height) { 
     self.locationy = 21; 
    } 
    drawCircle(ctx, self.locationx, self.locationy, 20, self.colour); 
}; 
self.die = function() { 

}; 
    setInterval(self.update, 50); 
}; 

Вот JSFiddle: http://jsfiddle.net/hzhubf8o/

Также обратите внимание, что я не создал функцию очистите пройденный путь.

Заранее благодарен!

+0

Не удается воспроизвести вашу «переменный» проблемы, но «же общее направление» из-за '+ 3' вас там - он всегда будет идти в положительное направление вдоль X и Y. – Siguza

+0

Oh. Благодаря! Так оно и было. Но теперь это идет медленно, как мне ускорить его? – Xelipho

+0

Вы можете попробовать '*' для начала ... – Siguza

ответ

0

Благодаря Siguza, у меня есть ответ (размещение его здесь, в случае, если кто имел подобную проблему)

я добавлял +3, вызвавший характер идти вдоль положительной. Предполагалось, что он заставит его идти быстрее, вместо этого он должен был быть 3 (также предложенный им).

self.locationx += posX + 3; 
self.locationy += posZ + 3; 

Изменения:

self.locationx += posX * 3; 
self.locationy += posZ * 3; 
Смежные вопросы