cs193P assignmentV 问题1

来源:互联网 发布:桨战船 知乎 编辑:程序博客网 时间:2024/06/05 20:53

作业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