Я создаю шар SKShapeNode
и CGPathAddArc
.
Дело в том, что если я использую больший радиус, шар движется медленнее.
Если я использую нижний радиус, шар движется быстрее.Скорость вращения шара SpriteKit различается по размеру
// width depends on screen size (iphone, ipad)
// on iPhone the speed of the ball is something I like
// when on the ipad the speed is very slow
CGPathAddArc(ballPath, NULL, 0, 0, self.frame.size.width/80, 0, M_PI*2, YES);
Как сделать его (скорость движения) постоянным независимо от радиуса?
_ball.physicsBody = [SKPhysicsBody bodyWithPolygonFromPath:ballPath];
_ball.physicsBody.friction = 0.f;
_ball.physicsBody.restitution = 1.002f;
_ball.physicsBody.linearDamping = 0.f;
_ball.physicsBody.affectedByGravity = NO;
_ball.physicsBody.allowsRotation = NO;
Какова математическая формула для преобразования плотности на основе отношения экрана между iPhone и iPad? Высота экрана iPad составляет 1.802817 x высота экрана iPhone 5. Я хотел бы изменить плотность моих узлов соответственно, но я бы предпочел не прибегать к эмпирическому определению того, что плотность «чувствует себя правильно». – Edward
Чувак, просто дайте всем своим физическим телам ту же массу. То же самое на обоих устройствах. Тогда они будут вести себя так, как вы хотите, независимо от их размера. – CharlieMezak
Опубликовано как собственный вопрос здесь: http://stackoverflow.com/questions/21791255/spritekit-iphone-ipad-different-resolution-need-same-physics – Edward