Ich habe 2 Knoten mit Texturen (SKSpriteNode) und ich versuche eine Animation zu erstellen, wenn der Knoten in der Nähe eines anderen Knotens mit y-Achse (mit Bereich 100 - 0) ist und die Animation beginnt Moment. Ich versuche etwas wie Cut The Rope zu machen, wenn Candy in der Nähe von Om-Nom ist und er seinen Mund öffnet, um die Süßigkeiten zu fangen. Helfen Sie mir mit dem Code bitte ( Sorry für mein EnglischAnimation starten, wenn Knoten in der Nähe ist
-1
A
Antwort
1
Sie diese Art der Berechnung mit wenigen Codezeilen erreichen könnte:
class GameScene: SKScene {
var sprite1 : SKSpriteNode!
var sprite2 : SKSpriteNode!
var range : CGFloat = 0.0
override func didMoveToView(view: SKView) {
self.range = randomCGFloat(0.0, max: 100.0)
sprite1 = SKSpriteNode.init(color: SKColor.blueColor(), size: CGSizeMake(40,40))
sprite2 = SKSpriteNode.init(color: SKColor.redColor(), size: CGSizeMake(40,40))
addChild(sprite1)
addChild(sprite2)
// Try to generate 10 positions and check relative distance
print("The range to check is :\(range)")
for i in 0...9 {
print("\(i)) time:")
let isNear = checkDistanceBtwSprites()
if isNear {
// do whatever you want with your sprites
}
}
}
func checkDistanceBtwSprites()->Bool{
sprite1.position = getRandomPosition(40, maxX: 40, minY: 0, maxY: 320)
sprite2.position = getRandomPosition(40, maxX: 40, minY: 0, maxY: 320)
let distance = getDistance((sprite1.position), p2: (sprite2.position))
print("distance for sprite1 and sprite2 is : \(distance)")
if distance <= self.range {
print("# -> success: sprite1 is near sprite2")
return true
}
return false
}
func getRandomPosition(minX: CGFloat, maxX: CGFloat, minY:CGFloat, maxY:CGFloat)->CGPoint {
return CGPointMake(randomCGFloat(minX, max: maxX),randomCGFloat(minY, max: maxY))
}
func randomCGFloat(min: CGFloat, max: CGFloat)->CGFloat {
return (CGFloat(arc4random())/CGFloat(UINT32_MAX)) * (max - min) + min
}
func getDistance(p1:CGPoint,p2:CGPoint)->CGFloat {
let xDist = (p2.x - p1.x)
let yDist = (p2.y - p1.y)
return CGFloat(sqrt((xDist * xDist) + (yDist * yDist)))
}
}
Ausgang:
Verwandte Themen
- 1. React Onclick Animation starten + eine weitere Animation starten, wenn erste fertig ist
- 2. Android: Fehler in der Nähe von runOnUiThread bekommen, wenn ich es in der Nähe von Fragment
- 3. Neue Animation erst dann starten, wenn die vorherige fertig ist
- 4. GIF-Animation erst starten, wenn sie vollständig geladen ist
- 5. greaterDie Abfrage löst unerwarteten AST-Knoten in der Nähe>
- 6. Postgres Syntaxfehler in der Nähe, wenn
- 7. Starten der Aktivität mit einer Animation
- 8. Starten remote Erlang Knoten
- 9. Starten der Knoten-Anwendung auf OpenShift
- 10. Geocoding wissen, wenn der Standort in der Nähe von anderen Standorten in der Datenbank ist
- 11. Animation neu starten, wenn ich eine Schaltfläche antippen
- 12. Syntaxfehler in der Nähe (
- 13. Knoten js npm starten Fehler
- 14. Firefox Animation starten nicht auf Toggle-Anzeigestil
- 15. MKMapView Clustering wenn zu viele Map Pins in der Nähe
- 16. Animation starten bei Tastendruck funktioniert nicht
- 17. Gruppendatum Variable, wenn Termine in der Nähe sind
- 18. Fehler in der Nähe 'Autoinkrement'
- 19. Objekte abstoßen, wenn sich die Maus in der Nähe befindet
- 20. Stopp UIWebView wenn in der Nähe veiw Controller
- 21. Starten Sie die Animation beim Scrollen zu
- 22. WPF-Animation nicht auslösen, wenn der gebundene Wert DateTime.MinValue ist
- 23. Starten Sie CSS3 Animation ohne Javascript?
- 24. Formel automatisch starten, wenn der Parameter erfüllt ist?
- 25. App neu starten, wenn der Bildschirm gesperrt ist
- 26. 3 Formen, in der Nähe der 2. und 3. offen
- 27. Was ist der Speicherort der appium.js zum Starten von Appium über Knoten auf CentOS
- 28. starten App, wenn Android Starten
- 29. Überprüfen Sie, ob eine Eisenbahnstrecke in der Nähe ist
- 30. Haben Jenkins schnell ausfallen, wenn der Knoten offline ist
I don Ich weiß nicht, ob das Projekt mit Ihrer alten Frage verknüpft ist. Haben Sie einen Blick auf meine Antwort geworfen? –