У меня есть tilemap (KKTilemapNode Kobald Kit) и персонаж посередине, теперь я использую джойстик, чтобы переместить tilemap вверх и вниз и вычислить скорость, проблема у меня в том, что если я поверню символ влево, он все еще остается вверх и вниз, поскольку я не знаю, как вычислить новую позицию под углом. Я попытался перенести несколько примеров флэш, но те, которые я нашел не плитка карты :(Вождение вычислений с использованием SpriteKit
Edit (добавление источника):
rotationStep = (_velocity.x/20); // Rotate the car by
if (fabs(_speed) > 0.3) {
_carRotation -= (rotationStep * (_speed/maxSpeed)); // Rotation angle if speed is at least 0.3
}
CGFloat speedX = ((_carRotation * (M_PI/180)) * _speed); // Calculation stolen from the flash game and probably changed over tooo much
CGFloat speedY = ((_carRotation * (M_PI/180)) * _speed);
CGFloat rotationValue = (degreesToRadians(_carRotation)); // Getting radians for the rotation
if (_velocity.x != 0 || _velocity.y != 0) {
_car.zRotation = rotationValue; // Setting correct rotation
}
NSLog(@"Speed X: %f - Y: %f", speedX, speedY); // Getting probably very incorrect values
[_track setPosition:CGPointMake(5, (_track.position.y - _speed))]; // And moving the tile map just up and down in the end based on a speed I have calculated earlier
Пожалуйста, разместите код для нас, чтобы посмотреть. – WolfLink
Надеюсь, ты увидишь, как я отчужден от кода ... там, и мои математические навыки ужасны :( – Ondrej