iOS -- SKPhysicsWorld类
| 继承自 | NSObject |
| 符合 | NSCoding NSObject(NSObject) |
| 框架 | /System/Library/Frameworks/SpriteKit.framework |
| 可用性 | 可用于iOS 7.0或者更晚的版本 |
| 声明于 | SKPhysicsWorld.h |
| 参考指南 | Sprite Kit Progamming Guide |
概览
| 重要提示:这是一个初步的API或者开发技术文档。虽然已经审阅了本文档的技术准确性,但是它不是最终的版本。本机密信息仅适用于苹果开发者计划的注册会员。苹果提供这些机密信息来帮助你采用这些技术和编程接口。此信息如果有变更,根据本文档实现的软件应使用操作系统软件和最终文档测试。新版本的文档可能会拥有新的API或者技术。 |
SKPhysicsWorld实例模拟碰撞和其他物理属性。你不需要直接创建SKPhysicsWorld属性,你可以查看SKScene的physicsWorld属性。
SKPhysicsWorld实例可以允许你执行以下操作:
| 模拟一个全局的属性,比如重力 |
| 创建一个两个物理体之间的联合 |
| 设置一个接收两个相连物理体之间消息的代理 |
| 判断物理体之间的点、矩形、射线相交 |
方法
将物理体联合在一起。
| - addJoint: |
向物理世界中添加一个联合。
- (void)addJoint:(SKPhysicsJoint *)joint
| 参数 | joint:待添加的联合 |
| 返回值 |
论述
一个联合要产生作用,它必须要添加到物理世界中。
| - removeAllJonits |
移除物理世界中的所有联合。
- (void)removeAllJoints
| - removeJonit: |
移除物理世界中的指定联合。
- (void)removeJoint:(SKPhysicsJoint *)joint
| 参数 | joint:待移除的联合 |
| 返回值 |
查找物理世界中的物理体
| - bodyAlongRayStart:end: |
查找与射线相交的第一个物理体。
- (SKPhysicsBody *)bodyAlongRayStart:(CGPoint)start end:(CGPoint)end
| 参数 | start:射线的起始点 end:射线的结束点 |
| 返回值 | 与射线相交的第一个物理体,若没有,则返回nil |
| - bodyAtPoint: |
查找包含某个点的第一个物理体。
- (SKPhysicsBody *)bodyAtPoint:(CGPoint)point
| 参数 | point:场景坐标系中的一个点 |
| 返回值 | 包含这个点的第一个物理体,若没有,则返回nil |
| - bodyInRect |
查找与指定矩形相交的第一个物理体。
- (SKPhysicsBody *)bodyInRect:(CGRect)rect
| 参数 | rect:场景坐标系中的一个矩形 |
| 返回值 | 与这个矩形相交的第一个物理体,若没有,则返回nil |
| - enumerateBodiesAlongRayStart:end:usingBlock: |
枚举与射线相交的所有物理体。
- (void)enumerateBodiesAlongRayStart:(CGPoint)start end:(CGPoint)end usingBlock:(void(^)(SKPhysicsBody *body, CGPoint poing, CGpint normal, BOOL *stop))block
| 参数 | start:射线的起始点 end:射线的结束点 block:一个语法块,每一个与射线相交的物理体都会触发 body:与射线相交的物理体 point:射线与物理体的交点 normal:相交处的法线向量 stop:一个布尔值,用以终止枚举 |
| 返回值 |
| - enumerateBodiesAtPoint:usingBlock: |
枚举包含某个点的所有物理体。
- (void)enumerateBodiesAtPoint:(CGPoint)point usingBlock:(void(^)(SKPhysicsBody *body, BOOL *stop))block
| 参数 | point:场景坐标系中的点 block:一个语法块,每一个包含该点的物理体都会触发 body:射线相交的物理体 stop:一个布尔值,用以终止枚举 |
| 返回值 |
| - enumerateBodiesInRect:usingBlock: |
枚举与指定矩形相交的所有物理体。
- (void)enumerateBodiesInRect:(CGRect)rect usingBlock:(void(^)(SKPhysicsBody *body, BOOL *stop))block
| 参数 | rect:场景坐标系中的矩形 block:一个语法块,每一个与该矩形相交的物理体都会触发 body:与该矩形相交的物理体 stop:一个布尔值,用以终止枚举 |
| 返回值 |
属性
模拟物理世界
| gravity |
一个向量,指定物理世界的重力加速度。
@property(atomic) CGPoint gravity
论述
这个属性的单位是米每秒,默认值为(0.0,-9.8),代表了地球重力加速度。
| speed |
模拟的执行速率。
@property(atomic)CGFloat speed
论述
默认值为1.0,表示模拟以正常速率执行。一个不同于默认值的值将改变模拟的执行速率。例如,一个2.0的值,表示模拟将以两倍速率执行。若只为0.0,则表示暂定模拟。
在物理世界检测碰撞。
| contactDelegate |
一个代理,当两个连在一起的物理体进来时,这个代理将被调用。
@property(atomic, assign) id<SKPhysicsContactDelegate> contactDelegate
论述
当两个物理体交叠时,连接就会被创建。一个拥有contactTestBitMask属性的物理体与另一个物理体的categoryBitMask属性交叠。
iOS -- SKPhysicsWorld类的更多相关文章
- IOS 公共类-MyDateUtil 日期处理Util
IOS 公共类-MyDateUtil 日期处理Util 此为处理日期的公共类.适用IOS6+ .h文件: #import <Foundation/Foundation.h> //适用 IO ...
- IOS 公共类-MyMBProgressUtil Progress显示
IOS 公共类-MyMBProgressUtil Progress显示 此公共类用于显示提示框,对MBProgress的进一步封装.可以看下面的代码 接口: @interface MyMBProgre ...
- 一位iOS教育类应用开发者是如何赚到60多万美元?
注:伯乐在线12月19日在@程序员的那些事 微博推荐了此文的英文原文,非常感谢@dotSlash 的翻译. 转眼距我写<我如何在iOS教育类应用中赚到20万美元>这篇博文已经一年多了,它 ...
- iOS -- SKScene类
SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject ...
- iOS系类教程之用instruments来检验你的app
比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程.这里是原文 入门 为了节省大家的时间,提供一个演示的D ...
- iOS方法类:CGAffineTransform的使用大概
CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放.旋转和平移操作: 另称放射变换矩阵,可参照线性代数的矩阵实现方式0. ...
- 006 [翻译] Haneke(一个Swfit iOS缓存类)
Github项目地址:https://github.com/Haneke/HanekeSwift Haneke是一个用swift写成的轻量级iOS类,以简单好用著称(design-decisions- ...
- iOS 在类实现定义中声明成员变量的怪异方式
WebGL 规范(WebGL Specification) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&quo ...
- iOS 日历类(NSCalendar)
对于时间的操作在开发中很常见,但有时候我们需要获取到一年后的时间,或者一周后的时间.靠通过秒数计算是不行的.那就牵扯到另外一个日历类(NSCalendar).下面先简单看一下 NSDate let d ...
随机推荐
- LA 7072 Signal Interference 计算几何 圆与多边形的交
题意: 给出一个\(n\)个点的简单多边形,和两个点\(A, B\)还有一个常数\(k(0.2 \leq k < 0.8)\). 点\(P\)满足\(\left | PB \right | \l ...
- Python虚拟机函数机制之位置参数的默认值(五)
位置参数的默认值 在Python中,允许函数的参数有默认值.假如函数f的参数value的默认值是1,在我们调用函数时,如果传递了value参数,那么f调用时value的值即为我们传递的值,如果调用时没 ...
- MMM的一周计划 准备公告
(19.6.17——19.6.22) 目前本周还没有过去所以还会更新 第0周 目前博客更新暂定于 [题目难度颜色见洛谷] 1.绿题以上绝对更新 2.黄题可能更新 3.其他估计不会有更新 准备工作 1. ...
- JS实现——贪吃蛇
把以下代码保存成Snake.html文件,使用Google或360浏览器打开 <!DOCTYPE HTML> <html> <head> <meta char ...
- html--元素显示优先级
HTML元素的显示优先级 一.HTML元素的显示优先级(显示层次问题,哪个在上哪个在下!总是显示在最前面) 帧元素>HTML元素优先,表单元素总>非表单元素优先 ...
- day05 模块以及内置常用模块用法
内置常用模块详解: 1 time 2 datetime 3 random 4 os 5 sys 6 shutil 7 shelve 8 xml 9 configparser 10 hashlib ...
- luogu3369 【模板】普通平衡树(Treap/SBT) treap splay
treap做法,参考hzwer的博客 #include <iostream> #include <cstdlib> #include <cstdio> using ...
- Leetcode36--->Valid Sudoku(判断给定的数独是否有效)
题目:给定一个数独,某些部分已经被填上了数字,其余空的地方用‘.’表示:判断给定的数独是否有效: 数独规则: 每一行不能有重复的数字:每一列不能有重复的数字:将数独框划分为三行三列,没9个小方格不能有 ...
- Linux 安装 tree命令
通过yum在线安装tree包 yum install tree -y
- Nginx从入门到放弃-第5章 Nginx架构篇
5-1 Nginx常见问题_架构篇介绍 5-2 Nginx常见问题_多个server中虚拟主机读取的优先级 5-3 Nginx常见问题_多个location匹配的优先级1 5-4 Nginx常见问题_ ...