随笔 - 91,  文章 - 0,  评论 - 4,  阅读 - 13万

简介

添加高性能的2D内容和流畅的动画到您的应用程序,或创建一个高水平的2D游戏工具集的游戏。

SpriteKit是一个通用框架,用于绘制二维形状、粒子、文本、图像和视频。它利用Metal实现了高性能的渲染,同时提供了一个简单的编程界面,可以轻松创建游戏和其他图形密集型应用程序。使用一组丰富的动画和物理行为,您可以快速地为您的视觉元素添加生命,并优雅地在屏幕之间转换。

SpriteKit支持iOS、macOS、tvOS和watchOS,并与GameplayKit和SceneKit等框架很好地集成。

使用

SKView: UIView

  • 默认都是 false,可以在 debug 模式下设置为 true,方便调试
/// 显示帧速率
open var showsFPS: Bool
/// 显示叠加层
open var showsDrawCount: Bool
/// 视图所包含的节点(SKNode)数量
open var showsNodeCount: Bool
/// @available(iOS 8.0, *) 渲染场景的矩形数量
open var showsQuadCount: Bool
/// @available(iOS 8.0, *) 物理相关的调试信息
open var showsPhysics: Bool
/// @available(iOS 8.0, *) 物理场的信息
open var showsFields: Bool
  • 属性,一般不用重新设置
/// 添加到场景上的 node 是否顺序添加,默认为 false,相同的 zPosition 节点会按照添加顺序展示到相应的场景上。在复杂场景中设置为 true 可能会大大提高性能,相同的 zPosition 节点,会随机的前后呈现到场景上面。
open var ignoresSiblingOrder: Bool
/// 指示视图的场景动画是否暂停。默认为 false。为 true 时,则场景内容固定在屏幕上。不执行任何动作,也不执行物理模拟。
open var isPaused: Bool
/// 视图里的内容是否异步呈现,默认为 true
open var isAsynchronous: Bool
/// @available(iOS 8.0, *) 切换视图是否允许透明呈现,默认为false
open var allowsTransparency: Bool
/// @available(iOS 8.0, *) 屏幕外的节点是否渲染显示,默认是 false
open var shouldCullNonVisibleNodes: Bool
/// @available(iOS 10.0, *) 帧速率,默认是60
open var preferredFramesPerSecond: Int
/// @available(iOS 10.0, *) 控制帧速率的代理
weak open var delegate: SKViewDelegate?
  • 常用方法
/// 跳转到某个场景,之前的场景会销毁
/// scene 新场景
/// transition 转场动画
open func presentScene(_ scene: SKScene, transition: SKTransition)
/// 通过节点的截图和指定的尺寸,返回一个纹理
open func texture(from node: SKNode, crop: CGRect) -> SKTexture?
/// 将点从场景坐标转换为视图坐标    
open func convert(_ point: CGPoint, to scene: SKScene) -> CGPoint
/// 将点从视图坐标转换为场景坐标
open func convert(_ point: CGPoint, from scene: SKScene) -> CGPoint

引用

https://developer.apple.com/documentation/spritekit

posted on   xiao孛  阅读(130)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示