cs193P assignmentV 问题1

作业4基本完成了,可能后面做的比较顺利,问题也比较容易解决,并没有记录,然后忙了一阵没有时间继续(其实还是懒),现在继续作业5.

首先的问题,想在目标游戏右面做一个成绩显示区域,打算做两个VIEW,分别显示。但是两个VIEW之后,想要获取第一个VIEW的中心位置生成小球不顺利,得不到想要的坐标位置,正在想办法。

首先怀疑是bounds和frame的区别,后来查询了以下并不是,两个的区别在于参照系不同,frame参照父视图,bounds则参照自己。

解决中发现View.layer.bounder.color 使用CGColor. 使用UIColor.blackColor().CGColor即可完成创建。

UIScreen.mainScreen.bounds  屏幕尺寸,实际发现是当前view的尺寸,应该还存在理解错误。

最终使用

        myBall.ballCenter = CGPoint(x: CGFloat(UIScreen.mainScreen().bounds.width - scoreView.frame.width)/2, y: UIScreen.mainScreen().bounds.height - UIApplication.sharedApplication().statusBarFrame.height - 8)

很不优雅,不过先这样吧,不然一个问题耗费太长时间不好。

今天的工作是让球动起来,关键是使用UIDynamicItemBehavior的addLinearVelocity(CGPoint(x: 120, y:120), forItem: ball) ,其中CGPoint指的是每秒移动的距离,foritem是需要移动的item。同时要将UIDynamicItemBehavior的elasticity属性设置为1,表示完全弹性碰撞。不过即使这样在CGPoint的x,y小于100时也不会弹开,并没有深入研究。

过程中发现原有的通过path画出小球的方式,球并不是一个view,不能移动,所以目前用方框代替,下一步有时间研究怎么使用圆球碰撞。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值