Определение физического тела для изогнутого объекта

#swift #sprite-kit

#быстрый #sprite-kit

Вопрос:

Как я могу определить физическое тело изогнутого или не прямоугольного объекта

Я знаю для прямоугольника, который я использую (прямоугольник: ширина, высота)

И для круга я использую (круг радиуса: )

Но как я могу сделать это для другого объекта, подобного этому

введите описание изображения здесь

Комментарии:

1. Вы можете использовать UIBezierpath для определения пути, который может быть преобразован в physicsBody объект.

2. Вы можете показать мне код

Ответ №1:

Вы можете использовать CGPath следующим образом:

 let path = CGMutablePath()
path.addLine(to: CGPoint(x: 10, y: 10))
path.addArc(center: CGPoint(x: 20, y: 20), radius: 50, startAngle: 20, endAngle: 60, clockwise: true)
node?.physicsBody = SKPhysicsBody(edgeLoopFrom: path)
 

Вы можете показать тела SKView с помощью:

 view.showsPhysics = true
 

введите описание изображения здесь

Полный пример здесь: GameScene.swift

Комментарии:

1. Не могли бы вы реализовать его в этом проекте

2. на физическом теле p1

3. dropbox.com/sh/nch0xjxnammop11/AADB_TG1BghZA_wiZbCZtGjba?dl=0