• 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属性交叠。

    更多0
     
  • 相关阅读:
    『华为』[行业要闻]华为,我们的光环还能顶多久(转)
    总结几点Quartz的经验
    LVS
    postfix邮件服务器安全
    让IE浏览器支持RGBA颜色
    PostgreSQL在何处处理 sql查询之六十四
    PostgreSQL在何处处理 sql查询之六十三
    PostgreSQL在何处处理 sql查询之六十五
    对PostgreSQL的prepared statement 的理解
    PostgreSQL在何处处理 sql查询之六十六
  • 原文地址:https://www.cnblogs.com/jiackyan/p/3481153.html
Copyright © 2020-2023  润新知