試圖製作一個小型的攻牙遊戲,在那裏你有一個正方形的網格,並需要按不同的順序點擊它們。偶爾這些方塊會互換位置。在兩點間移動UIButton的正確方法?
我覺得我需要把每個正方形的位置放到一個數組中。然後,當需要移動的時候,從當前位置移動到從數組中隨機選擇的位置,然後刪除數組中的位置,以免在同一位置出現多個按鈕。
不幸的是,我甚至無法讓UIButton移動,更不用說在兩個位置之間進行插值了。
目前,這將移動按鈕:
-(IBAction)button:(id)sender
{
button.center = CGPointMake(200, 200);
}
但我不希望它這樣的工作,我希望它的工作是這樣的,它不工作:
if (allButtonsPressed == YES)
{
button.center = CGPointMake(200, 200);
}
它不會連招,如果放在這樣的:
-(void)viewDidLoad
{
[super viewDidLoad];
button.center = CGPointMake(200, 200);
}
爲了清楚起見,該按鈕通過Interface Builder中添加,並且所有這些情況在做其他事情時都起作用,所以我猜UIButton需要以特定方式移動/動畫?
這似乎是工作,但是當我按下不同的按鈕它彈回它在哪裏。我可能會有一些雜亂的代碼這樣做,但只是爲了檢查,您的解決方案是簡單地爲某個位置設置動畫,還是爲位置設置動畫並將其設置爲新位置? –
此代碼將設置爲動畫。所以如果你在動畫中間檢查它,你甚至可以在它出現之前得到新的幀。但是它將一直存在,除非你指定了一個UIViewAnimationOptionAutoReverse。所以我懷疑你有一些雜亂的代碼。 –
如果您檢查UIView文檔,實際上有很多UIViewAnimation的選項,包括從任何地方開始的完成塊和選項,或排隊動畫。 –