
app
文章平均质量分 58
布袋的世界
布袋的世界...
展开
-
【Swift】GCD多线程和BlockOperation实用代码块
为了实现对并行任务的进一步控制, 除了GCD之外,iOS还提供了另外一个多线程机制,叫做:Operation Queue转载 2017-01-01 19:24:43 · 841 阅读 · 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 · 414 阅读 · 0 评论 -
SpriteKit手机游戏摇杆JoyStick的使用 -- by iFIERO游戏开发教程
工欲善其事,必先利其器有时候学习如何应用第三方库是非常重要的,因为我们不用再自己重复造轮子,在这里,我们就把原先利用重力感应来操控飞机改为用游戏摇杆joystick来操控,具体的操作如下: // 声明游戏摇杆; private var joystick:AnalogJoystick! // 游戏摇杆; 创建函数,新建游戏摇杆节点,并添加到GameScene中...原创 2018-07-27 13:35:22 · 1469 阅读 · 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 · 546 阅读 · 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 · 384 阅读 · 0 评论 -
一步一步图文介绍SpriteKit使用TexturePacker导出的纹理集Altas
1、为什么要使用纹理集?游戏是一种很耗费资源的应用,特别是在移动设备中的游戏,性能优化是非常重要的纹理集是将多张小图合成一张大图,使用纹理集有以下优点:1、减少内存占用,减少磁盘占用;2、减少磁盘读取次数,一次性读取一张大图比多次读取多张小图速度更快 一张大图:打开-读取小图-读取小图-读取小图-关闭; 多张小图:打开-关闭,打开-关闭,打开-关闭,打开-关闭;3、减少Op...原创 2018-08-21 16:16:16 · 640 阅读 · 0 评论 -
学好三角学(函数) — SWIFT和JAVASCRIPT游戏开发的必备技能 iFIERO.com
不论是使用哪种平台进行开发,三角学在游戏当中都被广泛的使用,因此,小编iFERO认为,三角学是必须得掌握的技能之一。先以Javascript为例一、角度与弧度最直观地说,一个 60度 的角,可以用 60°来表示,也可以用 π / 3 (圆周率除以3)来表示;同理,一个 90度 的角,可以用 90°来表示,也可以用 π / 2 (圆周率除以2)来表示;还有,一个 180度 的...原创 2018-09-06 17:02:44 · 254 阅读 · 0 评论 -
GameplayKit的GKStateMachine用法与实例
玩家进入GameScene场景中 -> 通过GKStateMachine进入到指定的游戏状态GKState在GameScene场景中 -> 根据不同的逻辑调用GKStateMachine -> 在各个不同的游戏状态GKState之间进行切换源码如下:一、GameScene.swftimport SpriteKitimport GameplayKitclass Ga...原创 2018-10-11 12:25:56 · 603 阅读 · 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 · 32253 阅读 · 0 评论 -
Phaser3游戏三角学应用--一只跟随屏幕点击位置游动的鱼
资源图:代码var config = { type: Phaser.AUTO, parent: 'iFiero', // game id; html中为 <div id="iFiero"></div> width: 500, height: 380, scene: { preload: preload, ...原创 2018-11-15 13:15:59 · 971 阅读 · 0 评论 -
用EC5/EC6自定义class的区别及用法 -- Phaser3网页游戏框架
EC6 自定义classclass Brain extends Phaser.GameObjects.Sprite { constructor (scene, x, y) { super(scene, x, y); this.setTexture('brain'); this.setPosition(x, y); }...原创 2018-12-04 16:12:43 · 512 阅读 · 0 评论 -
运用GamePlayKit的GKEntity及GKComponent 的iOS游戏开发实例
GameplayKit是一个面向对象的框架,为构建游戏提供基础工具和技术。 GameplayKit包含用于设计具有功能性,可重用架构的游戏的工具,以及用于构建和增强诸如角色移动和对手行为的游戏玩法特征的技术。我们这里主要讲GKEntity和GKComponent这二个类; GKEntity类(实体): 可以容纳很多组件的容器,根据自己的需求来加入相应的Component组件。 ...原创 2018-07-29 14:02:06 · 462 阅读 · 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 · 437 阅读 · 0 评论 -
iFIERO -- SkyNinja天猪之城 SpriteKit iOS游戏源码
这是第二款!精灵周围有一圈兰色的细线开启精灵的物理体外框显示精灵物理体精灵物理体脚+手在Scene中的尺寸大小直接使用rectangleOfrectangleOf碰撞不精准碰撞不精准使用精灵物理体本身的texture 当反重力向上时...原创 2018-06-20 19:22:47 · 1488 阅读 · 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 · 460 阅读 · 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 · 303 阅读 · 0 评论 -
iFIERO - (二)宇宙大战 Space Battle -- SpriteKit 无限循环背景Endless、SpriteKit物理碰撞、CoreMotion加速计
本节主要讲解如何创建无限循环Endless的星空背景(如下图)、玩家飞船发射子弹,监测子弹击外星敌机的SpriteKit物理碰撞并消灭敌机,以及应用iOS的CoreMotion加速计移动飞船躲避外星敌机(加速计须用真机测试)。 宇宙大战 SPACE BATTLE — 新建场景SCENE、精灵节点、PARTICLE粒子及背景音乐
开始游戏教程前,首先介绍一下SpriteKit是什么?SpriteKit提供了一个图形渲染和动画的基础结构,你可以使用它让任意类型的纹理图片或者精灵动起来。SpriteKit使用传统的渲染循环,在每一帧被渲染之前帧的内容就已经处理好了。你的游戏决定了场景的内容以及场景中的每一帧是如何变化的。SpriteKit利用图形硬件渲染动画的每一帧,即精灵的位置可在每一帧动画中改变。SpriteKit框架渲染...原创 2018-06-26 15:07:49 · 421 阅读 · 0 评论 -
SPRITEKIT游戏框架之关于PHYSICS物理引擎属性
Spritekit提供了一个默认的物理模拟系统,用来模拟真实物理世界,可以使得编程者将注意力从力学碰撞和重力模拟的计算中解放出来,通过简单地代码来实现物理碰撞的模拟,而将注意力集中在更需要花费精力的地方。现在,让我们来学习这个系统的使用吧。首先需要认识两个类,一个是场景scene的属性类SKPhysicsWorld,这个类基于场景,只能被修改但是不能被创建,这个类负责提供重力和检查碰撞(碰撞需...原创 2018-07-08 20:20:48 · 320 阅读 · 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 · 1869 阅读 · 0 评论 -
Phaser3跟随自定义路径移动的赛车 -- iFIERO游戏教程
在线预览:http://www.ifiero.com/uploads/phaser/pathrotate/代码:var config = { type: Phaser.AUTO, width: 720, height: 520, backgroundColor: '#2d2d2d', parent: 'phaser-example', scen...原创 2018-12-07 17:24:48 · 1030 阅读 · 0 评论