1つの入力パラメータを取るSKActionによって関数を呼び出そうとしています。私はSpriteKitベースを使用していない - 『>ボイド()』SKActionを使用してパラメータを持つ関数を呼び出す
self.run(SKAction.repeat(SKAction.sequence([SKAction.wait(forDuration: 1), SKAction.run(self.decreaseHealth(by: 5.0))]), count: 10))
func decreaseHealth(by amount: Double){
print(health)
health -= amount
print(health)
let percentageToDecrease = amount/totalHealth
let resizeAction = SKAction.resize(toHeight: CGFloat(600*(1-percentageToDecrease)), duration: 1)
let redAmount: CGFloat = CGFloat(1.0 - health/totalHealth)
let greenAmount: CGFloat = CGFloat(health/totalHealth)
let recolorAction = SKAction.colorize(with: UIColor(red: redAmount, green: greenAmount, blue: CGFloat(0.0), alpha: CGFloat(1.0)), colorBlendFactor: 0, duration: 1)
healthBar.run(SKAction.group([resizeAction, recolorAction]))
}
なぜあなたも使用する必要がないタイプ
() ->()
か() -> Void
の場合タイプ
()
しかし{ decreasHealth }
であるためでありますあなたの機能を実行するSKAction? –私は一連のアクションで複数回繰り返して使用するため、アクションを実行する必要があります。私は単に関数を呼び出すことはできません。 –
あなたの状況を完全には説明していません。アクションのシーケンスは何ですか?シーケンスを何回繰り返しますか? –