继承自 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属性交叠。

更多0

 

SKPhysicsWorld类的更多相关文章

  1. iOS -- SKPhysicsWorld类

    SKPhysicsWorld类 继承自 NSObject 符合 NSCodingNSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit. ...

  2. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  3. SKScene类

    继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) ...

  4. iOS -- SKScene类

      SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject ...

  5. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

  6. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  7. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  8. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  9. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

随机推荐

  1. Oracle数据表恢复

    用于直接drop掉表的情况(plsql developer直接删掉表就是drop操作) 查删除的表select object_name,original_name,partition_name,typ ...

  2. 导入excel错误:外部表不是预期的格式 解决方案(Oledb)

    -----转载:http://blog.csdn.net/zhou349398998/article/details/8740424 环境:win7+iis7+Office2007 在asp.net网 ...

  3. crud的意识

    CRUD说的就是增查改删C:Create 增加对应CREATE TBL ...: ADD TBL IN (...) VALUES (...)R:Retrieve查询SELECT * from TBLU ...

  4. Cacti以MB为单位监控流量

    Cacti自带的流量监控阀值模板为“Interface – Traffic”,只能监控bytes,在添加阀值之后,报警的流量信息以bytes为单位,查看很不友好,可以通过以下方法将btyes转换成MB ...

  5. 抓取锁的sql语句-第六次修改

    增加异常处理 CREATE OR REPLACE PROCEDURE SOLVE_LOCK AS V_SQL VARCHAR2(3000); --定义 v_sql 接受抓取锁的sql语句V_SQL02 ...

  6. JavaScript--对象+函数

    1. 复杂数据类型 Object ECMAScript中的对象其实就是一组数据(属性)和功能(方法)的集合.    1) 创建Object实例:   1.使用构造函数创建,new Object()   ...

  7. [转]Delphi 快捷键 让你更像高手!!

    新一篇: IDFTP 控件使用 >>代码模板 : CTRL+J >>代码整块移动 : CTRL+SHIFT+I(右移) CTRL+SHIFT+U(左移)>>选中窗体 ...

  8. 深入理解offsetTop与offsetLeft

    做为走上前端不归路的我,以前只是认为offsetTop是元素的左边框至包含元素offsetParent的左内边框之间的像素距离,同理offsetRight是相对于上内边框.那么问题来了,包含元素off ...

  9. centos U盘安装

    1.版本 LiveCD 和 LiveDVD 是可以直接进入运行系统,类似win PE, 进入系统后有一个图标 install - HHD(从硬盘安装). netinstall 是用于网络安装和系统救援 ...

  10. 你好,C++(10)这次的C++考试你过了没有?C++中表示逻辑判断的布尔数据类型

    3.4  布尔类型 在日常生活中,我们除了需要使用int类型的变量表示216路公交车:需要使用float类型的变量表示西红柿3.5元一斤,有时候还需要表示一种数据,那就是逻辑状态: “这次的C++考试 ...