नोड्स को SKWarpGeometry को लागू करने के लिए मैंने SKSpritenodes पर SKWarpGeometry को लागू करने के लिए कुछ ट्यूटोरियल खोजने के लिए इंटरनेट की गहराई की खोज नहीं की है।स्प्राइटकिट | स्विफ्ट 3 |
मेरे पास एक ट्रैम्पोलिन एसकेएसप्रिटेनोड और एक गेंद एसकेएसप्रिटिनोड है।
ballNode = childNode(withName: "ballNode") as? SKSpriteNode
ballNode?.physicsBody = SKPhysicsBody(circleOfRadius: (ballNode?.frame.size.width)!/2)
ballNode?.physicsBody?.isDynamic = true
ballNode?.physicsBody?.usesPreciseCollisionDetection = true
ballNode?.zPosition = 3
ballNode?.physicsBody!.categoryBitMask = PhysicsCategory.ballCategory
ballNode?.physicsBody!.contactTestBitMask = PhysicsCategory.trampolineCategory
ballNode?.physicsBody!.collisionBitMask = PhysicsCategory.platformCategory
ballNode?.physicsBody?.velocity = CGVector(dx: 0.0, dy: 0.0)
ballNode?.move(toParent: _gameNode)
enumerateChildNodes(withName: "trampoline") {trampolineNode,_ in
trampoline = trampolineNode as? SKSpriteNode
trampolineNode.physicsBody = SKPhysicsBody.init(rectangleOf: CGSize(width: (trampoline?.size.width)!, height: (trampoline?.size.height)!))
trampolineNode.physicsBody?.categoryBitMask = PhysicsCategory.trampolineCategory
trampolineNode.physicsBody?.contactTestBitMask = PhysicsCategory.ballCategory
trampolineNode.physicsBody?.collisionBitMask = PhysicsCategory.ballCategory
trampolineNode.physicsBody?.affectedByGravity = false
trampolineNode.physicsBody?.isDynamic = false
trampolineNode.physicsBody?.usesPreciseCollisionDetection = true
trampolineNode.physicsBody?.restitution = 1
trampolineNode.move(toParent: _gameNode)
जब गेंद नोड ट्रैम्पोलिन को हिट करता है। मैं trampoline नोड के शीर्ष के अंदर मोड़ना चाहता हूँ। हालांकि निम्नलिखित कोड चलाकर, ट्रैम्पोलिन छवि गायब हो जाती है।
if collision == PhysicsCategory.ballCategory | PhysicsCategory.trampolineCategory {
let src = [float2(0.0), float2(1.0), float2(2.0),
float2(3.0), float2(4.0), float2(5.0),
float2(6.0), float2(7.0), float2(8.0)]
let dst = [float2(0.0), float2(0.0), float2(2.0),
float2(3.0), float2(1.0), float2(5.0),
float2(6.0), float2(7.0), float2(8.0)]
warpGrid = SKWarpGeometryGrid(columns: 2, rows: 2,
sourcePositions: src,
destinationPositions: dst)
//
trampoline?.warpGeometry = warpGrid <---This line removes the trampoline image, so I could only assume its the way I set up the source and destination points.
let transform = SKAction.warp(to: warpGrid!, duration: 1)
let transformAction = SKAction.repeat(transform!, count: 1)
trampoline?.run(transformAction)
}
मैं ग्रिड नोड्स को गलत स्थापित कर सकता हूं लेकिन मुझे कोई संकेत नहीं है क्योंकि मुझे मार्गदर्शन करने के लिए कोई ट्यूटोरियल नहीं है। क्या किसी ने अभी तक एसकेजीमेट्री का उपयोग किया है?
दुर्भाग्य से मुझे लगता है कि "किसी ने इसका अभी तक उपयोग किया है" का जवाब शायद प्रश्न है, "नहीं"। यह उन सुविधाओं में से एक था कि कोई भी नहीं (15 उपयोगकर्ताओं में से स्प्राइट किट में से) आ रहा है। और इसका उद्देश्य इसकी विशेषताओं से सीमित लगता है। उदाहरण के लिए, युद्ध के राज्यों के बीच कोई आसान समय नहीं है। ऐसा लगता है कि आधा बेक्ड विचार है, आधे बेक्ड कार्यान्वयन के साथ, घास और पेड़ों को बनाने के सरल उद्देश्य के लिए। जब मैंने पहली बार अपनी प्रस्तुति की बात सुनी तो मैं इसके साथ मुलायम निकायों के बारे में उत्साहित था। लेकिन कुछ शोध के बाद, यह निश्चित रूप से इसके लिए सुसज्जित नहीं है। – Confused
क्या स्प्राइटकिट व्यापक रूप से उपयोग नहीं किया जाता है? वाह। बस एक साधारण उदाहरण की आवश्यकता है जैसा कि मैं करना चाहता हूं सिद्धांत में बहुत सरल है। जहां तक मुझे पता है, – user3482617
, शून्य उदाहरण हैं। मैंने इसे थोड़ा सा उपयोग करने के लिए देखा, जैसा कि आप, किसी का भी इसका उपयोग नहीं कर सका। लेकिन मैंने यह भी पाया कि मुझे नहीं लगता कि यह मेरे वांछित उपयोग के लिए है। ऐप्पल सामान के साथ जो मैंने पाया है वह यह है कि यदि यह किसी चीज़ के लिए स्पष्ट रूप से डिज़ाइन नहीं किया गया है, तो इसे अपने सनकी में जोड़ने की कोशिश करना केवल निराशा और क्रोध है। आप इसे इरादे के रूप में इस्तेमाल कर रहे हैं। लेकिन जानना मुश्किल है, क्योंकि ऐप्पल केवल प्रति वर्ष एक बार डेमो बनाने के लिए परेशान होता है। – Confused