我正在制作一个小拳击应用程序。整整一周,我都试图找出如何解决上面我当前的问题,没有运气:(。
摘要
基本上是1 v 1游戏。每当用户击中另一个玩家时,我想在他附近弹出一个小号,然后浮起并消失。
有点像你玩MMORPG时,当你做dmg时,你会看到你做了多少。请参阅下面的图片以获取示例!
所以基本上每当用户击中另一个玩家时,我想在屏幕上弹出一个小数字来显示dmg,然后浮起并消失。
详细
随时随地如何实现这一目标?
谢谢!
答案 0 :(得分:1)
创建标签,然后使用UIView.animateWithDuration
为其设置动画。
let label = UILabel(frame: CGRect(origin: point/*The point where you want to add your label*/, size: CGSize(width: 50, height: 50)))
label.text = "+1"
label.font = UIFont()//Your font
label.textColor = UIColor.blueColor()
label.alpha = 1
self.view.addSubview(label)
UIView.animateWithDuration(1) {
label.center = CGPoint()//The point where you want your label to end up
label.alpha = 0
}
编辑:如评论中所述,您询问了如何在随机点创建标签。试试这个:
let screenWidth = self.view.frame.width
let screenHeight = self.view.frame.height
let randomX = CGFloat(arc4random_uniform(UInt32(screenWidth)))
let randomY = CGFloat(arc4random_uniform(UInt32(screenHeight)))
let point = CGPoint(x: randomX, y: randomY)
正如您将注意到的,对于宽度和高度,我使用了视图框架的宽度和高度。您可能想要使用视图的边界。有关详情,请查看this SO Post。