Сделать SKScene (или действительно узел-эмиттер)> не <обрезать границы? - PullRequest
0 голосов
/ 23 января 2020

Скажем, вы собираетесь представить некоторые фейерверки, скажем, они примерно 100x100.

У вас есть вид на держатель

@IBOutlet var holder: UIView!   // say it's 100x100 courtesy of constraints

Теперь вы добавляете свой SKView,

let sk: SKView = SKView()
sk.frame = holder.bounds
holder.addSubview(sk)

Теперь вы создаете SKScene и излучатель

let scene: SKScene = SKScene(size: sk.bounds.size)
let en = SKEmitterNode(fileNamed: "YourParticleFileFromXcode.sks")
en?.position = sk.center
scene.addChild(en!)

Наконец вы представляете сцену в SKView

userTapsButton() {
      sk.presentScene(scene)

Пока проблем нет.

Скажем, оказывается, что фейерверки летят немного выше, чем вы ожидали.

(Представьте, что они взлетают примерно до 150 вместо 100).

Фактически они будут обрезаны сверху .

На самом деле,

• с holder, если вы сделаете clipForBounds false - это ничего не даст. Они по-прежнему обрезаются сверху.

Итак - я полагаю - это не holder, что их обрезает.

• с sk (SKView), если вы сделаете это clipForBounds ложь - это ничего не дает. Они все еще обрезаны сверху.

Итак - я полагаю - это не SKView, что их обрезает.

Относительно SKScene

• Я не не знаю, как установить «отсечение» для SKScene

Относительно SKEmitterNode

• Я не знаю, как установить «отсечение» для SKEmitterNode

Как сделать систему спрайтов не клип ??

...