การวางตำแหน่ง SkSpriteNode ภายในตัวจัดการการทำให้สมบูรณ์ของ SkAction

ฉันพบปัญหาแปลก ๆ นี้ ฉันกำลังเพิ่มศัตรู (SKSpriteNode) จากภายใน GameScene didMove (เพื่อดู: SKView) โดยใช้ addChild

ศัตรูอยู่ในตำแหน่ง x:100, y: 100 และปรากฏอย่างถูกต้อง ฉันยังมีแอนิเมชั่นอีกอันหนึ่ง ซึ่งสุดท้ายแล้วฉันก็เพิ่มศัตรูตัวอื่นในตำแหน่งเดียวกัน แต่ศัตรูก็ปรากฏตัวที่ตำแหน่งอื่น บล็อกสำเร็จดังแสดงด้านล่าง

    holeExplosion.runHoleExplosionAction {[unowned self] in
        //self.addEnemy(enemyCount: 1, hole: holeExplosion)
        var modEnemy: ParentEnemy? = nil
        modEnemy = Enemy1(imageNamed: "Zombie1Jump1.png", healthPower:30)

        print(" \(self.scene?.position.x)  \(self.scene?.parent) ")
        self.addChild(modEnemy!)
        modEnemy!.enemySpeed = self.enemy1Speed
        modEnemy!.name = "enemy1"

        modEnemy!.position = CGPoint (x: 100 , y: 100)
        modEnemy!.zPosition = 2
    }

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม ขอบคุณ.


person vaishakh    schedule 20.08.2017    source แหล่งที่มา
comment
self ไม่ใช่ฉาก self คือโหนดระเบิด คุณต้องเพิ่ม self.scene.addChild(modEnemy!) เข้าไปในฉากด้วย   -  person Knight0fDragon    schedule 21.08.2017
comment
ฉันตรวจสอบกับ self.scene.add แล้ว มันยังคงแสดงอยู่ที่ตำแหน่งเดิม   -  person vaishakh    schedule 21.08.2017
comment
คุณหมายถึงอะไรที่แสดง ตำแหน่งนั้นสัมพันธ์กับผู้ปกครอง ไม่ใช่แบบสัมบูรณ์ หากผู้ปกครองอายุ 10 ขวบ และลูกอายุ 20 ปี จริงๆ แล้วเด็กจะอายุ 30 ปี แต่จะแสดงเพียง 20 ปีเท่านั้น   -  person Knight0fDragon    schedule 21.08.2017
comment
ใช่ ฉันได้ตรวจสอบมุมมองนั้นแล้ว ฉันเปลี่ยนตำแหน่งของ holeExpansion เพื่อตรวจสอบว่าพาเรนต์ที่อ้างถึงนั้นเป็น holeExpansion ไม่ใช่ฉากหรือไม่ แต่การเปลี่ยนแปลงตำแหน่งการขยายหลุมไม่ส่งผลต่อตำแหน่งของศัตรู มันไม่สัมพันธ์กับรูขยาย   -  person vaishakh    schedule 21.08.2017


คำตอบ (1)


คลาสศัตรูของคุณมีตัวแทน PhysicsBody ?? บางทีคุณอาจเห็นสิ่งนั้นก่อน เพราะถ้ามี คุณจะต้องค้นหาคุณสมบัติ isDynamic ของคุณ คุณไม่สามารถมี 2 ตัวในพื้นที่เดียวกันได้เมื่อคุณสมบัติเท่ากับจริง

person Adrian Ponce Muñoz    schedule 20.08.2017
comment
คุณสามารถมี 2 ศพอยู่ในจุดเดียวกันได้ตราบใดที่หน้ากากไม่ชนกัน - person Knight0fDragon; 21.08.2017
comment
เนื้อหาฟิสิกส์ไม่ได้ถูกเพิ่มในขณะนั้น ฉันเพิ่งให้ศัตรู 2 คนอยู่ในตำแหน่งเดียวกันเพื่อจุดประสงค์ในการเป็นตัวแทน ตำแหน่งที่อยู่นอกตำแหน่งปิดก็ดี อันที่อยู่ภายในการปิดนั้นอยู่ในตำแหน่งที่แตกต่างกันโดยสิ้นเชิง - person vaishakh; 21.08.2017