내 스프라이트가 게임 내 다른 스프라이트와 충돌하면 현재 입자 효과를 표시합니다.재생이 끝나면 부모에서 이미 터 노드를 수동으로 제거해야합니까?
가let sparkParticle = SKEmitterNode(fileNamed: "SparkParticle.sks")
if sparkParticle.parent == nil
{
sparkParticle.position = mySprite.position
self._particleLayer.addChild(sparkParticle)
}
sparkParticle.resetSimulation()
내 스프라이트 현재 I가 입자 방출 노드의 위치를 설정하고 (100)의 최대 1000 개 입자 출산율 인 I 만든 입자있다 :
I는이 코드 조각을 화면. 그런 다음 입자 레이어 노드의 자식으로 추가합니다.
질문이 끝나면 수동으로 파티클 이미 터 노드를 부모에서 제거해야합니까? 또는 Sprite Kit는 재생이 끝난 후 자동으로 제거합니까?
내 프로젝트는 스프라이트가 서로 충돌하도록 설계되었으므로 메모리 누수를 방지하기 위해 수동으로 처리해야하는지 확인하고 싶습니다 (입자 이미 터 노드가 많은 파티클 레이어 이미 연주 완료)
직접 제거해야합니다. – hamobi
@hamobi는 의견에 감사드립니다. 이미 터 노드가 재생을 마쳤을 때 트리거되어 이벤트를 제거 할 수 있는지 감지 할 수있는 이벤트/메소드가 있습니까? – aresz
아니오 나는 그렇게 생각하지 않는다 .. 나는 SKAction을 사용하여 일정 시간이 지나면 제거한다. 설명을 주셔서 감사합니다. – hamobi