swift
文章平均质量分 64
布袋的世界
布袋的世界...
展开
-
【Swift】GCD多线程和BlockOperation实用代码块
为了实现对并行任务的进一步控制, 除了GCD之外,iOS还提供了另外一个多线程机制,叫做:Operation Queue转载 2017-01-01 19:24:43 · 817 阅读 · 0 评论 -
(三)宇宙大战 Space Battle -- 场景SCENE切换、UserDefaults统计分数、Particle粒子效果
此《宇宙大战 Space Battle》SpirteKit手机游戏教程共分为三系列:(一)宇宙大战 Space Battle -- 新建场景Scene、精灵节点、Particle粒子及背景音乐(二)宇宙大战 Space Battle -- 无限循环背景Endless、SpriteKit物理碰撞、CoreMotion加速计(三)宇宙大战 Space Battle — 场景SCENE切换、UserDe...原创 2018-07-07 18:25:48 · 416 阅读 · 0 评论 -
运用GamePlayKit的GKEntity及GKComponent 的iOS游戏开发实例
GameplayKit是一个面向对象的框架,为构建游戏提供基础工具和技术。 GameplayKit包含用于设计具有功能性,可重用架构的游戏的工具,以及用于构建和增强诸如角色移动和对手行为的游戏玩法特征的技术。我们这里主要讲GKEntity和GKComponent这二个类; GKEntity类(实体): 可以容纳很多组件的容器,根据自己的需求来加入相应的Component组件。 ...原创 2018-07-29 14:02:06 · 440 阅读 · 0 评论 -
SpirteKit深度复制SKSpriteNode节点及convert转换其它Scene上的节点到当前场景坐标
Playground输出的代码 ,注意右侧打印出的SpriteNode输出值,HAPPY_NODE的输出信息一致.//MARK:- 扩展SkSpriteNode属性extension SKSpriteNode { func copyWithPhysicsBody()->SKSpriteNode{ let spriteNode = self.copy() as...原创 2018-07-22 16:49:15 · 395 阅读 · 0 评论 -
SpriteKit手机游戏摇杆JoyStick的使用 -- by iFIERO游戏开发教程
工欲善其事,必先利其器有时候学习如何应用第三方库是非常重要的,因为我们不用再自己重复造轮子,在这里,我们就把原先利用重力感应来操控飞机改为用游戏摇杆joystick来操控,具体的操作如下: // 声明游戏摇杆; private var joystick:AnalogJoystick! // 游戏摇杆; 创建函数,新建游戏摇杆节点,并添加到GameScene中...原创 2018-07-27 13:35:22 · 1409 阅读 · 2 评论 -
SpriteKit在复制节点时留了一个巨坑给开发者,需要开发者手动把复制节点的isPaused设置为false
根据When an overlay node with actions is copied there is currently a SpriteKit bug where the node’s isPaused property might be set to true提示,SpriteKit有一个Bug需要开发者自己来填。SpriteNode节点在被copy()复制后,会自动被设置为暂停,...原创 2018-08-04 12:54:44 · 530 阅读 · 0 评论 -
应用UserDefaults储存游戏分数和最高分 - by iFIERO.com
应用UserDefaults储存游戏分数和最高分我们在GameScene.swift里 private var currentScore:SKLabelNode! // 当前分数节点 private var cScore:Int = 0 /// Int 存当前分数 private var highScore:SKLabelNode! // 最高分数 private var...原创 2018-08-24 11:22:45 · 367 阅读 · 0 评论 -
一步一步图文介绍SpriteKit使用TexturePacker导出的纹理集Altas
1、为什么要使用纹理集?游戏是一种很耗费资源的应用,特别是在移动设备中的游戏,性能优化是非常重要的纹理集是将多张小图合成一张大图,使用纹理集有以下优点:1、减少内存占用,减少磁盘占用;2、减少磁盘读取次数,一次性读取一张大图比多次读取多张小图速度更快 一张大图:打开-读取小图-读取小图-读取小图-关闭; 多张小图:打开-关闭,打开-关闭,打开-关闭,打开-关闭;3、减少Op...原创 2018-08-21 16:16:16 · 597 阅读 · 0 评论 -
学好三角学(函数) — SWIFT和JAVASCRIPT游戏开发的必备技能 iFIERO.com
不论是使用哪种平台进行开发,三角学在游戏当中都被广泛的使用,因此,小编iFERO认为,三角学是必须得掌握的技能之一。先以Javascript为例一、角度与弧度最直观地说,一个 60度 的角,可以用 60°来表示,也可以用 π / 3 (圆周率除以3)来表示;同理,一个 90度 的角,可以用 90°来表示,也可以用 π / 2 (圆周率除以2)来表示;还有,一个 180度 的...原创 2018-09-06 17:02:44 · 230 阅读 · 0 评论 -
Swift使用AVAudioPlayer来调节游戏的背景音乐大小
音乐文件的声音大小有时在做为游戏背景音乐时会过大,而如果我们只是简单应用SKAudioNode来加载音乐的话,是无法进行声音大小的调节的,因此我们必须使用更强大的AVAudioPlayer来进行声音大小的调节。具体实现代码如下: import AVFoundation class GameScene: SKScene,SKPhysicsContactDelegate { priva...原创 2018-09-17 14:21:09 · 815 阅读 · 0 评论 -
GameplayKit的GKStateMachine用法与实例
玩家进入GameScene场景中 -> 通过GKStateMachine进入到指定的游戏状态GKState在GameScene场景中 -> 根据不同的逻辑调用GKStateMachine -> 在各个不同的游戏状态GKState之间进行切换源码如下:一、GameScene.swftimport SpriteKitimport GameplayKitclass Ga...原创 2018-10-11 12:25:56 · 579 阅读 · 0 评论 -
SpriteKit游戏开发适配iPad/iPhone6/7/8/Plus及iPhoneX的尺寸及安全区域
编辑文章未适配前:Ball球超过屏幕的上下方适配后:Ball球就在屏幕的可视范围内运动了一、那么如何适配不同的iPhone、iPhoneX及iPad的屏幕尺寸呢?我们开发一个App的时候, 通常希望它在 iPhone, iPad, Mac上同时能运行, 尤其是游戏。这样就需要我们考虑不同设备不同的分辨率,但处理起来比较麻烦,比如说,按照官方的做法,我们需要提供诸如 ifiero@1x,ifiero...原创 2018-07-05 21:18:46 · 1820 阅读 · 0 评论 -
【Swift】Alamofile网络请求数据更新TableView的坑
写这篇BLOG前,有些话不得不提一下,就仅当发发恼骚吧。。。今天下午为了一个Alamofire取得数据而更新TableView的问题,查了一下午的百度(360也是见鬼的一样),竟然没有一个简单明了的回答,而唯一几个比较接近答案的,说要 self.tableView.reloadData(),也没有贴上代码,说要放在哪个函数内,都犹抱琵琶半遮面,让初学者自己采坑,于是郁闷了一下午,刚刚回到家,试想想,要不试试英文网,毕竟Swift就是人家老外的,说不定老外会告诉你,怎么取得数据并绑定Table原创 2017-01-06 19:37:19 · 772 阅读 · 0 评论 -
iFIERO -- Space Battle 宇宙大战 SpriteKit游戏源码
/* * 游戏中的所有元素全部由iFIERO所原创(除引用之外),包括人物、音乐、场景等, * 创作的初衷就是让更多的游戏爱好者可以在开发游戏中获得自豪感 -- 让手机游戏开发变得简单。 * 秉着开源分享的原则,iFIERO发布的游戏都尽可能的易懂实用,并开放所有源码, * 任何使用者都可以使用游戏中的代码块,也可以进行拷贝、修改、更新、升级,无须再经过iFIERO的同意。 * ...原创 2018-06-12 00:35:19 · 617 阅读 · 0 评论 -
iFIERO -- SkyNinja天猪之城 SpriteKit iOS游戏源码
这是第二款![SkyNinja.gif](https://upload-images.jianshu.io/upload_images/3896436-8488f7fa265bdeb1.gif?imageMogr2/auto-orient/strip)![Snip20180612_2.png](https://upload-images.jianshu.io/upload_images/38964...原创 2018-06-12 13:08:25 · 454 阅读 · 0 评论 -
如何精确设置SpriteKit精灵的物理体PhysicsBody
如何精确设置SpriteKit精灵的物理体PhysicsBody ,首先要开启精灵的物理体外框显示,可以直观的在模拟器或者真机上看清楚精灵的物理体外观(精灵周围有一圈兰色的细线)!精灵周围有一圈兰色的细线开启精灵的物理体外框显示精灵物理体精灵物理体脚+手在Scene中的尺寸大小直接使用rectangleOfrectangleOf碰撞不精准碰撞不精准使用精灵物理体本身的texture 当反重力向上时...原创 2018-06-20 19:22:47 · 1471 阅读 · 0 评论 -
iFIERO -- 如何用SpriteKit实现游戏中的ENDLESS无限循环背景
红色框中的节点bgNode1,SpriteNode的名称Name BG1 位置为Position(0,0)bgNode1 = childNode(withName: "BG1") as! SKSpriteNode黄色框为的节点bgNode2, SpriteNode的名称Name BG2 位置为Position(0,2048)bgNode2 = childNode(withName: "BG2")...原创 2018-06-22 10:59:14 · 447 阅读 · 0 评论 -
iFIERO -- 如何应用SpriteKit的Camera实现游戏中的Endless无限循环背景
效果wobbing.pngCamera向右移动camera的节点移动到2048(self.size.width)的时候,把红色框内的节点移动到最右边( node.position.x += self.size.width * SCENE_NUMBERS)/// 查找所有命名为ground的精灵节点 enumerateChildNodes(withName: "//ground") ...原创 2018-06-24 15:07:25 · 281 阅读 · 0 评论 -
iFIERO - (二)宇宙大战 Space Battle -- SpriteKit 无限循环背景Endless、SpriteKit物理碰撞、CoreMotion加速计
本节主要讲解如何创建无限循环Endless的星空背景(如下图)、玩家飞船发射子弹,监测子弹击外星敌机的SpriteKit物理碰撞并消灭敌机,以及应用iOS的CoreMotion加速计移动飞船躲避外星敌机(加速计须用真机测试)。![Space Battle](http://upload-images.jianshu.io/upload_images/3896436-0727250d91e26fa5?...原创 2018-06-30 17:37:16 · 604 阅读 · 0 评论 -
iFIERO -- (一) 宇宙大战 SPACE BATTLE — 新建场景SCENE、精灵节点、PARTICLE粒子及背景音乐
开始游戏教程前,首先介绍一下SpriteKit是什么?SpriteKit提供了一个图形渲染和动画的基础结构,你可以使用它让任意类型的纹理图片或者精灵动起来。SpriteKit使用传统的渲染循环,在每一帧被渲染之前帧的内容就已经处理好了。你的游戏决定了场景的内容以及场景中的每一帧是如何变化的。SpriteKit利用图形硬件渲染动画的每一帧,即精灵的位置可在每一帧动画中改变。SpriteKit框架渲染...原创 2018-06-26 15:07:49 · 396 阅读 · 0 评论 -
SPRITEKIT游戏框架之关于PHYSICS物理引擎属性
Spritekit提供了一个默认的物理模拟系统,用来模拟真实物理世界,可以使得编程者将注意力从力学碰撞和重力模拟的计算中解放出来,通过简单地代码来实现物理碰撞的模拟,而将注意力集中在更需要花费精力的地方。现在,让我们来学习这个系统的使用吧。首先需要认识两个类,一个是场景scene的属性类SKPhysicsWorld,这个类基于场景,只能被修改但是不能被创建,这个类负责提供重力和检查碰撞(碰撞需...原创 2018-07-08 20:20:48 · 295 阅读 · 0 评论 -
适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
此篇文章是对上一篇文章(http://www.ifiero.com/index.php/archives/611)的进一步补充,主要说明如何适配Apple的最新三款手机iPhoneXs、iPhoneXs Max及iPhoneXr !!!回顾:为何要把场景中的所有图片, 都按照屏幕大小为 2048 * 1536 来绘制。 也就是说, 我们的背景图的大小是 2048 * 1536, 其他图片也是...原创 2018-09-26 22:57:20 · 32127 阅读 · 0 评论