2016-04-29 13 views
0

Hey Leute, ich habe eine andere Frage. Es scheint mir, dass die einzige Möglichkeit, eine Schaltfläche in SpriteKit zu erstellen, die touchesBegan-Funktion ist, die großartig ist, aber die Schaltflächen sind ziemlich lahm, weil sie keine Animation und keinen Effekt haben, wenn Sie sie berühren. Alle tollen Spiele, die ich mit SpriteKit gemacht habe - zum Beispiel "100 Balls" - haben einen coolen Effekt, wenn du den Knopf drückst und dann, wenn du es loslässt, gehst du zum Beispiel zur nächsten Szene. Besonders Candy Crush Saga hat einige sehr schöne Bounce-Effekte, aber ich denke, dass sie kein SpriteKit verwenden. Aber wie auch immer, meine Frage ist, wie machen sie diese Knöpfe mit Effekten? (Sorry für mein schlechtes Englisch: /)Wie mache ich Buttons mit Effekt in SpriteKit und Swift?

+0

Sie können versuchen mit [SKAButton] (https://github.com/SpriteKitAlliance/SKAButton) oder etwas ähnliches, um zu sehen, wie diese funktionieren (oder verwenden Sie es in Ihren Projekten). Später können Sie etwas selbst implementieren, wenn Sie sich mit der Funktionsweise dieser Dinge vertraut gemacht haben. – Whirlwind

+0

Sie müssen Ihre eigenen Funktionen implementieren, um die gewünschten Effekte zu erzielen. – Abdou023

Antwort

0

Wenn Sie die Taste, klein zu werden, wenn Sie darauf drücken und groß, wenn Sie gehen lassen, können Sie implementieren Code in Ihre Touches Began und Touches Ended (und sogar Touches Moved wenn Sie möchten) : Unter Touches Began:

if button.containsPoint(location){ 
let scale = SKAction.scaleTo(0.7, duration: 0) 
button.runAction(scale) 
} 

Unter Touches Ended:

if button.containsPoint(location){ 
let scale = SKAction.scaleTo(1, duration: 0) 
button.runAction(scale) 
} 

Unter Touches Moved:

if !button.containsPoint(location){ 
let scale = SKAction.scaleTo(1, duration: 0) 
button.runAction(scale) 
} 

Btw, das ist ungeprüfter Code. Bitte lassen Sie mich wissen, wie es geht. Ich habe eine Frage wie diese mit mehr Code hier geschrieben: Giving properties of a UIButton to a SKSpriteNode in SpriteKit.

Viel Glück!

+0

Ich habe es auch versucht und es funktioniert, aber normalerweise, wenn Sie eine Taste drücken und Sie abbrechen möchten, können Sie einfach außerhalb der Taste gehen und er geht wieder normal. Und in diesem Fall würde er nur bei der kleinen Größe bleiben, die Sie wahrscheinlich nicht abbrechen können. –

+0

Sie müssen Berührungen für diesen Zweck verwendet werden (verwenden Sie Variable, wenn Sie möchten, dass die Schaltfläche kleiner und größer wird, sobald Sie die Schaltfläche beim Berühren des Bildschirms, für ein Beispiel, bitte überprüfen Sie meine Frage), werde ich meine Antwort bearbeiten –

Verwandte Themen