Die Richtige Art, Sich Zu Bewegen UIButton Zwischen Zwei Punkten?
Versucht zu machen, eine kleine tapping-Spiel, wo Sie haben ein raster von Quadraten und brauchen, um Tippen Sie Sie in verschiedene Ordnungen. Gelegentlich sind diese Plätze, werden die Plätze tauschen mit einander.
Ich vermute, dass ich werden müssen, um die Standorte eines jeden Feldes in ein array. Dann, wenn es Zeit ist sich zu bewegen, gehen von der aktuellen Position zu einer nach dem Zufallsprinzip ausgewählt, aus dem array, und dann löschen, die Position im array, so dass ich nicht bekommen, die mehrere Schaltflächen an der gleichen Stelle.
Leider kann ich nicht einmal die UIButtons, sich zu bewegen, geschweige denn interpolieren zwischen zwei Positionen.
Derzeit wird eine Schaltfläche bewegen:
-(IBAction)button:(id)sender
{
button.center = CGPointMake(200, 200);
}
Aber ich will nicht, dass es so funktioniert, will ich es auf der Arbeit so etwas wie dieses, und es funktioniert nicht:
if (allButtonsPressed == YES)
{
button.center = CGPointMake(200, 200);
}
Nicht einmal bewegen, wenn wie folgt gesetzt:
-(void)viewDidLoad
{
[super viewDidLoad];
button.center = CGPointMake(200, 200);
}
Für Klarheit, wird der button Hinzugefügt wird, durch die Interface Builder, und all diese Situationen arbeiten, wenn andere Dinge zu tun, so dass ich vermute, UIButtons müssen bewegt/animiert, die in spezifischer Weise?
Du musst angemeldet sein, um einen Kommentar abzugeben.
viewDidLoad tritt auf, bevor der Blick ist sichtbar, so dass es bewegt sich nur nicht animiert. Sie könnten versuchen, indem Sie in der Methode viewDidAppear.
Können Sie wickeln Sie Dinge in UIView animation-Blöcke wie also, wenn Sie wollen, um Sie zu animieren, anstatt zu blinken in die gewünschte position.
Da bist du mit interface-builder-ich gehe davon aus, dass Ihr mithilfe der Eigenschaften zu verfolgen, die Tasten. Dies kann funktionieren, wenn Sie nur mit ein paar set-Tasten, aber ich würde erwarten, dass in einem Spiel diese ändern, so möchten Sie vielleicht zu verschieben, um code oder atleast verwenden IBOutletCollections zu verfolgen die Tasten.
Swift 3.0