1.初始化

+ (instancetype)node;

+ (nullable instancetype)nodeWithFileNamed:(NSString*)filename;

2.返回边界边框

- (CGRect)calculateAccumulatedFrame;

3.坐标

//节点的父节点的位置坐标系统
@property (nonatomic) CGPoint position;
//z值的节点(用于排序)。负z是”到“屏幕,正面屏幕的z是“出去”。更大的zPosition将面前的一个较小的zPosition排序。
@property (nonatomic) CGFloat zPosition;
//绕z轴旋转(弧度)
@property (nonatomic) CGFloat zRotation;
//x比例
@property (nonatomic) CGFloat xScale;
//y比例
@property (nonatomic) CGFloat yScale;

4.一些属性

//速度
@property (nonatomic) CGFloat speed;
//透明度
@property (nonatomic) CGFloat alpha;
//控制节点的行为是否更新或暂停
@property (nonatomic, getter = isPaused) BOOL paused
//是否隐藏
@property (nonatomic, getter = isHidden) BOOL hidden;
//控制节点是否接收触摸事件
@property (nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
//父节点
@property (nonatomic, readonly, nullable) SKNode *parent;
//子节点
@property (nonatomic, readonly) NSArray<SKNode*> *children;
//节点名称
@property (nonatomic, copy, nullable) NSString *name;
//节点所在的场景
@property (nonatomic, readonly, nullable) SKScene* scene;
//物理身体连接的节点,同步,旋转,和地位
@property (nonatomic, retain, nullable) SKPhysicsBody *physicsBody;
//一个可选的字典,可用于您自己的数据存储在一个节点。默认为零。
@property (nonatomic, retain, nullable) NSMutableDictionary *userData;
//运动学约束,用于解决本土知识
@property (nonatomic, copy, nullable) SKReachConstraints *reachConstraints;
//可选的一系列SKConstraints和物理约束是评估每一帧后操作。节点的转换将被改变,以满足约束条件。
@property (nonatomic, copy, nullable) NSArray<SKConstraint*> *constraints;

5.设置x,y的大小

- (void)setScale:(CGFloat)scale;

6.添加删除,移动,遍历精灵

- (void)addChild:(SKNode *)node;

- (void)insertChild:(SKNode *)node atIndex:(NSInteger)index;

- (void)removeChildrenInArray:(NSArray<SKNode*> *)nodes;
- (void)removeAllChildren; - (void)removeFromParent;
- (void)moveToParent:(SKNode *)parent; - (nullable SKNode *)childNodeWithName:(NSString *)name; - (void)enumerateChildNodesWithName:(NSString *)name usingBlock:(void (^)(SKNode *node, BOOL *stop))block;

7.如果有父节点

- (BOOL)inParentHierarchy:(SKNode *)parent;

8.运行动作,获取动作,移除动作

- (void)runAction:(SKAction *)action;
- (void)runAction:(SKAction *)action completion:(void (^)())block;
- (void)runAction:(SKAction *)action withKey:(NSString *)key; - (BOOL)hasActions;
- (nullable SKAction *)actionForKey:(NSString *)key; - (void)removeActionForKey:(NSString *)key;
- (void)removeAllActions;

9.填写坐标返回上面的精灵

- (BOOL)containsPoint:(CGPoint)p;

- (SKNode *)nodeAtPoint:(CGPoint)p;

- (NSArray<SKNode*> *)nodesAtPoint:(CGPoint)p;

10.移动精灵

- (CGPoint)convertPoint:(CGPoint)point fromNode:(SKNode *)node;
- (CGPoint)convertPoint:(CGPoint)point toNode:(SKNode *)node;

11.插入精灵

- (BOOL)intersectsNode:(SKNode *)node;

12.两个精灵是否相同

- (BOOL)isEqualToNode:(SKNode *)node;

13.GKPolygonObstacle

/* Returns an array of GKPolygonObstacles from a group of SKSpriteNode's textures in scene space. For use with GPObstacleGraph in GameplayKit */
+ (NSArray<GKPolygonObstacle*> *)obstaclesFromSpriteTextures:(NSArray<SKNode*>*)sprites accuracy:(float)accuracy; /* Returns an array of GKPolygonObstacles from a group of SKNode's transformed bounds in scene space. For use with GPObstacleGraph in GameplayKit */
+ (NSArray<GKPolygonObstacle*> *)obstaclesFromNodeBounds:(NSArray<SKNode*>*)nodes; /* Returns an array of GKPolygonObstacles from a group of SKNode's physics bodies in scene space. For use with GPObstacleGraph in GameplayKit */
+ (NSArray<GKPolygonObstacle*> *)obstaclesFromNodePhysicsBodies:(NSArray<SKNode*>*)nodes;

14,获取触碰精灵的位置

- (CGPoint)locationInNode:(SKNode *)node;

SpriteKit-(SKNode)的更多相关文章

  1. 文成小盆友python-num11-(2) python操作Memcache Redis

    本部分主要内容: python操作memcache python操作redis 一.python 操作 memcache memcache是一套分布式的高速缓存系统,由LiveJournal的Brad ...

  2. 文成小盆友python-num11-(1) 线程 进程 协程

    本节主要内容 线程补充 进程 协程 一.线程补充 1.两种使用方法 这里主要涉及两种使用方法,一种为直接使用,一种为定义自己的类然后继承使用如下: 直接使用如下: import threading d ...

  3. 我的linux学习之路--(二)linux常用命令

    1.date 时间管理 电脑主板有电池,所有电脑断电时间正确,rtc linux:rtc 硬件时钟 clock/hwclock 系统时钟(linux操作系统用软件模拟震荡器计算)date看到就是 命令 ...

  4. MySQL数据分析-(14)表补充:字符集

    大家好,我是jacky朱元禄,很高兴继续跟大家学习<MySQL数据分析实战>,本节课程jacky分享的主题是表补充之字符集 在分享课程之前,jacky在跟大家强调一下逻辑的重要性,我们学习 ...

  5. MySQL数据分析-(13)表操作补充:索引

    大家好,我是jacky朱元禄,很高兴继续跟大家学习MySQL数据分析实战,今天跟大家分享的主题是表补充之索引: (一)前面课程的小节以及本节课程的逻辑梳理 在正式分享主题之前,jacky先跟大家捋顺一 ...

  6. MySQL数据分析-(12)表操作补充:字段属性

    大家好,我是jacky朱元禄,很高兴继续跟大家学习MySQL数据分析实战,今天我们分享的主题是表操作补充之字段属性,依照惯例第一部分,jacky先跟大家分享本课时的学习逻辑 (一)学习逻辑 我们说创建 ...

  7. MySQL数据分析-(11)表补充:数据类型

    大家好,我是jacky,很高兴继续跟大家学习<Mysql 数据分析实战系列教程>,上次课程jacky讲解了表层面的增删改查,jacky说最重要的是增,增就是创建表,作为一个严谨的MySQL ...

  8. MySQL数据分析-(8)SQL基础操作之库操作

    前面我们讲了学习SQL的两个逻辑框架,jacky说了这样一个逻辑:库是为了存储表的,所以一定是先有库才有表:同样的道理,有表才有表中的数据,是吧,肯定是这个逻辑:那么,今天jacky就捋着这个逻辑从库 ...

  9. MySQL数据分析-(5)数据库设计之ER模型

    大家好,我是jacky,很高兴跟大家分享本课时的内容,从本节课开始,就开始了我们第二章的学习,第一章我们抛出了若干问题,从第二章开始往后,都是解决问题的一个过程: 第一章的案例中,我们拿手机销售公司举 ...

随机推荐

  1. Java的数组与内存控制

    1     数组基础 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素(item),每个数组元素可以通过一个下标/索引来(index)访问它们. 数组 ...

  2. ORACLE的SQL JOIN方式大全

    ORACLE的SQL JOIN方式大全 在ORACLE数据库中,表与表之间的SQL JOIN方式有多种(不仅表与表,还可以表与视图.物化视图等联结),官方的解释如下所示 A join is a que ...

  3. 从屏幕截取一块区域,将其赋给imageView

    UIGraphicsBeginImageContext(self.bounds.size); [self.layerrenderInContext:UIGraphicsGetCurrentContex ...

  4. PostgreSQL学习(2)-- mvcc

    1.PG事务隔离级别 在数据库中,并发的操作进行读写数据时,则会遇到脏读.不可重复读.幻读.串行化异常等问题. 数据库事务的特性: 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对 ...

  5. 快速排序和快速选择(quickSort and quickSelect)算法

    排序算法:快速排序(quicksort)递归与非递归算法 TopK问题:快速选择(quickSelect)算法 import java.util.*; import java.lang.*; publ ...

  6. 好久没写了,总结一下lnux常用的命令(基础)

    Linux 1.init 0 关机 2.init 6  重启 3.ls 列出当前目录下的文件 4.cd  切换目录  cd -  切换最近使用的两次目录 5.pwd 查看当前所在的路径 (“-”为用户 ...

  7. 12.Yii2.0框架视图模版继承与模版相互调用

    目录 模板渲染的两种方式 加载视图 index.php 和 about.php 页面 建立控制器HomeController php 新建模板 home\index.php 新建模板home\abou ...

  8. LeetCode(268) Missing Number

    题目 Given an array containing n distinct numbers taken from 0, 1, 2, -, n, find the one that is missi ...

  9. nordic芯片开发——烧写方法记录

    在开发nordic芯片的时候,分为存外设开发和结合softdevice开发,另外还有结合mbr的开发(这个暂时没有深究)在裸机开发的时候,sdk里面称为blank,把芯片的程序erase之后,直接下载 ...

  10. debian软raid

    http://www.linuxidc.com/Linux/2013-06/86487.htm