-1
I持って、私は、特定の式(物理発射時間方程式)によって与えられるXとYに従って移動すると、私はそれが見えるように、それが1秒ごとに移動するUIimage最後のポジションで消えて再び出現するのではなく、与えられたポジションは間違っていると思います。どちらかまたは両方の問題については、私は助けていただければ幸いです。UIimageが移動行う毎に1秒
運動機能:Onボタン
func moveCannonBall(toX:Int , toY:Int){
var frm: CGRect = ballimageview.frame
frm.origin.x = frm.origin.x + CGFloat(toX)
frm.origin.y = frm.origin.y - CGFloat(toY)
ballimageview.frame = frm
}
は、ユーザーの入力を取ることになっていますクリック(重力、角度、及び初速)
@IBAction func getAlpha(sender:AnyObject){
gravity = Float(g[pickerView.selectedRow(inComponent: 0)])
xMax = ((V0*V0)*sin(2.0*angle))/gravity
は、これまでのところ、私はこれを試してみました
1秒ごとに停止するはずですが、1秒ごとに計算が一時停止し、UIimageが消えて再び表示されます。
while Int(toX) < Int(xMax) {
sleep(1)
t = t + 1
toX = V0*cos(angle)*t
toY = -0.5*gravity*t*t + V0*sin(angle)*t
moveCannonBall(toX: Int(toX), toY: Int(toY))
}
}
すべてのヘルプは高く評価されます。
**決して**どのような形式のメインキューでも「スリープ」を使用しないでください。 – rmaddy
これは単純な一時停止ではありませんか? – Ace
簡単な答えはいいえ、そうではありません。あなたは 'UIView.animateWithDuration'メソッドを調べる必要がありますが、素敵なカーブに沿ってボールを動かすのは簡単ではありません。 – Losiowaty