一步一步图文介绍SpriteKit使用TexturePacker导出的纹理集Altas
1、为什么要使用纹理集?
游戏是一种很耗费资源的应用,特别是在移动设备中的游戏,性能优化是非常重要的
纹理集是将多张小图合成一张大图,使用纹理集有以下优点:
1、减少内存占用,减少磁盘占用;
2、减少磁盘读取次数,一次性读取一张大图比多次读取多张小图速度更快 一张大图:打开-读取小图-读取小图-读取小图-关闭; 多张小图:打开-关闭,打开-关闭,打开-关闭,打开-关闭;
3、减少OpenGL绘制次数; OpenGL ES 1.1仅仅能够使用2的n次幂大小的图片(即宽度或者高度是2、4、8、64...)。如果采用小图片OpenGL ES1.1会分配给每个图片2的n次幂大小的内存空间,即使这张图片达不到这样的宽度和高度也会分配大于此图片的2的n次幂大小的空间。那么运用这种图片集的方式将会减少内存碎片。虽然在Cocos2d-x v2.0后使用了OpenGL ES 2.0,它不会再分配2的几次幂的内存块了,但是减少读取次数和绘制的优势依然存在。
2、SpriteKit导入SKTexturePacker的纹理集
上官网 www.codeandweb.com 下载 TexturePacker
没有去除空白边角的原始图片
直接把图片文件夹拖入软件左侧的导航栏
TexturePacker直接剪切图片变生成一张大图
点击右下角高级设置 Advanced settings>>
选择 Data Format 为SpriteKit,并生成Altas及Swift
并生成Altas及Swift 之前可以全选左侧导航栏的所有图片,并点击"Anim preview" 预览动画
命名Altas文件夹名称及Swift文件名(class为首字母大写)
发布Altas及Swift
发布Altas及Swift 成功 ,查看发布结果
把Altas及Swift拖进XCode工程内
类JumpRight为class类,首字母应为大写
JumpRight内的代码
定位SpriteKitNode精灵节点在场景中的位置
实例化一个类 并代码调用
SpriteKit 调用TexturePacker 的最终效果
SpriteKit 调用TexturePacker 的源代码
//
// GameScene.swift
// BabeKitten
// Copyright © 2018 iFiero.com. All rights reserved.
//import SpriteKit
import GameplayKitclass GameScene: SKScene {let catJumpRight = JumpRight()private var cat:SKSpriteNode!private var catJump:SKSpriteNode!override func didMove(to view: SKView) {cat = SKSpriteNode(texture:catJumpRight.jumpRight01()) // 调用图片cat.position = CGPoint(x: CGFloat(-450), y: CGFloat(-400))cat.setScale(0.5)cat.zPosition = 1self.addChild(cat)catJump = SKSpriteNode(texture: catJumpRight.jumpRight01()) // 调用图片1catJump.position = CGPoint(x: CGFloat(370), y: CGFloat(-400))catJump.setScale(0.5)catJump.zPosition = 1self.addChild(catJump)let jumpAction = SKAction.animate(with: catJumpRight.jumpRight(), timePerFrame: TimeInterval(0.05))let repeatAction = SKAction.repeatForever(jumpAction)catJump.run(repeatAction)}override func update(_ currentTime: TimeInterval) {// Called before each frame is rendered}
}复制代码
以上就是使用TexturePacker的所有步聚及源码!
源码传送门:www.iFIERO.com/uploads/bab… 更多游戏教学:www.iFIERO.com
转载于:https://juejin.im/post/5b7bcfa56fb9a01a1e01fcf6
一步一步图文介绍SpriteKit使用TexturePacker导出的纹理集Altas相关推荐
- 一步一步教你如何向ALEXA提交网站介绍信息
目前ALEXA排名是比较热门的话题,大大小小的站长都对这个东西很关注,我也不例外,每天都会去查一下网站的排名变化,不过在查ALEXA排名时,我经常去chinaz的站长工具那里查询,一是因为速度快,二呢 ...
- 注销苹果id 显示联系服务器时出现问题,帮您还原连接appleid服务器时出错
【图文介绍】的处理办法_...
近日有小伙伴发现电脑出现问题了,在突然遇到连接appleid服务器时出错 时不知所措了,对于连接appleid服务器时出错 带来的问题,其实很好解决连接appleid服务器时出错 带来的问题,下面小编 ...
- 一步一步教你VMWare安装苹果Mac OS X
随着iPhone.iPad.Mac等苹果产品越来越火爆,越来越多的初学者想要了解和尝试苹果平台,包括苹果操作系统Mac OS X.苹果演示软件Keynote.苹果开发工具Xcode等.然而,苹果电脑价 ...
- Linux手动部署nlb步骤,一步一步配置NLB(续)之深入测试
首先,准备一些工具: 1. Fiddler2,用来查看请求的分配情况,当然这个工具还有其他强大的功能,今天,我们只用很小的功能; 其次呢,我们了解一下NLB里面端口规则的设置: a.右键群集--> ...
- 一步一步指引你在Windows7上配置编译使用Caffe(https://github.com/fengbingchun/Caffe_Test)
之前写过几篇关于Caffe源码在Windows764位上配置编译及使用过程,只是没有把整个工程放到网上,最近把整个工程整理清理了下,把它放到了GitHub上.下面对这个工程的使用作几点说明: 1. ...
- 一步一步学Silverlight 2系列(10):使用用户控件
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- 【深度学习基础】一步一步讲解卷积神经网络
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送 本文转自:一步一步讲解卷积神经网络 卷积神经网络(Convoluti ...
- 一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- 一步一步写算法(之prim算法 中)
原文:一步一步写算法(之prim算法 中) [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] C)编写最小生成树,涉及创建.挑选和添加过程 MI ...
最新文章
- python高级数据结构_Python高级数据结构(二)
- AD管理之三,企业根CA的安装
- android 反调试 方案,Android Native反调试—检测TracerPid值
- GetMemeory(char *p);GetMemeory(char **p);char* GetMemeory()用法!
- zookeeper 都有哪些使用场景?
- myeclipse使用git图文教程
- 通报批评!国家基金委公布2021年查处的不端行为案件处理决定(第二批次)
- vue:webpack + vue-cil 中 proxyTable 处理跨域
- [转载]Hamachi 安装过程
- poj 匈牙利二分匹配算法2239 Selecting Courses
- 试试用word发博客
- AD9(Altium Designer)电源铜块和整板铺铜设定不同规则,满足不同间距
- excel使用教程_Excel筛选和高级筛选怎么使用?筛选最全教程
- VirtualApp hook so及activity回调
- 創新組合型的架構設計(Part-4):EIT造形幕後的設計思想
- 桌面右下角任务栏图标消失问题解决
- 【教程】腾讯云轻量应用服务器搭建聊天室
- Html批量统一给汉字注音,HTML5:给汉字加拼音?让我秀给你看
- 【手绘漫画】图解LeetCode之旋转链表(LeetCode 61题)
- 布局光刻机核心器件,华为哈勃投资入股科益虹源
热门文章
- Opencv实战【3】——图像修复与图像锐化(darling in the franxx)
- CGPA的完整形式是什么?
- php字符串反转函数_PHP | 反转给定的字符串而不使用库函数
- LeetCode 20. 有效的括号 golang(三)
- 344. 反转字符串 golang
- C++ STL 初步介绍01
- php中修改弹窗的样式,CSS变形弹窗效果示例
- mysql cluster双机_GitHub - sophys/mysqlha: 博客“Mysql-cluster数据库集群双机HA研究”测试代码...
- c 复杂的前置后置面试题_OPPO Reno拆解:优秀工艺由外而内,复杂用料不负旗舰之名...
- RT5350原厂SDK及AP移植步骤详解