摘要: Spritekit提供了一个默认的物理模拟系统,用来模拟真实物理世界,可以使得编程者将注意力从力学碰撞和重力模拟的计算中解放出来,通过简单地代码来实现物理碰撞的模拟,而将注意力集中在更需要花费精力的地方。现在,让我们来学习这个系统的使用吧。 阅读全文
posted @ 2018-07-08 20:09 布袋 阅读(773) 评论(0) 推荐(0)
摘要: 1、MainScene.sks -- 用户打开APP时一开始看到的画面,等待用户点击"Play"按钮; 2、GameScene.sks -- 游戏进行中的场景画面,用于创建无限循环背景Endless、监测SpriteKit物理碰撞、应用CoreMotion加速计,判断游戏的业务逻辑; 3、LoseScene.sks -- 游戏结束时的场景画面,记录当届分数,记录最高分并应用UserDefaults储存分数在手机沙盒当中,点击"Tap to play"按钮回到GameScene游戏场景画面; 阅读全文
posted @ 2018-07-07 18:29 布袋 阅读(866) 评论(0) 推荐(0)
摘要: 如何适配不同的iPhone、iPhoneX及iPad的屏幕尺寸,如何适配不同的iPhone、iPhoneX及iPad的屏幕尺寸呢? 我们开发一个App的时候, 通常希望它在 iPhone, iPad, Mac上同时能运行, 尤其是游戏。 这样就需要我们考虑不同设备不同的分辨率,但处理起来比较麻烦,比如说,按照官方的做法,我们需要提供诸如 ifiero@1x,ifiero@2x,ifiero@3x, 这样不同尺寸的图片,那如何简便的适配设备不同的分辨率呢,我们的做法是, 固定一个大小, 向下兼容不同的设备。 即场景中的所有图片, 都按照屏幕大小为 2048 * 1536 来绘制。 也就是说, 我们的背景图的大小是 2048 * 1536, 其他图片也是依照这个比 阅读全文
posted @ 2018-07-05 21:16 布袋 阅读(659) 评论(0) 推荐(1)
摘要: /// 查找所有命名为ground的精灵节点 enumerateChildNodes(withName: "//ground") { (node, _ ) in /// 如果当前的节点 + scene.size.with < 则移动节点 if node.position.x + self.size.width < camera.position.x { node.position.x += self.size.width * SCENE_NUMBERS /// 更新节点的位置 } } 阅读全文
posted @ 2018-07-03 12:05 布袋 阅读(793) 评论(0) 推荐(0)
摘要: 本节主要讲解如何创建无限循环Endless的星空背景(如下图)、玩家飞船发射子弹,监测子弹击外星敌机的SpriteKit物理碰撞并消灭敌机,以及应用iOS的CoreMotion加速计移动飞船躲避外星敌机(加速计须用真机测试)。 阅读全文
posted @ 2018-07-02 15:13 布袋 阅读(533) 评论(0) 推荐(0)
摘要: Spritekit提供了一个默认的物理模拟系统,用来模拟真实物理世界,可以使得编程者将注意力从力学碰撞和重力模拟的计算中解放出来,通过简单地代码来实现物理碰撞的模拟,而将注意力集中在更需要花费精力的地方。现在,让我们来学习这个系统的使用吧。 首先需要认识两个类,一个是场景scene的属性类SKPhysicsWorld,这个类基于场景,只能被修改但是不能被创建,这个类负责提供重力和检查碰撞(碰撞需要实现SKPhysicsContactDelegate代理协议),另一个就是SKPhysicsBody类,你可以对你的SKNode节点添加物理体属性,来让他们可以参与物理模拟的相关计算。 阅读全文
posted @ 2018-07-02 15:10 布袋 阅读(1535) 评论(0) 推荐(2)
摘要: 日期比较函数 记录下 Comparing date in Swift 阅读全文
posted @ 2017-01-14 10:53 布袋 阅读(517) 评论(0) 推荐(0)
摘要: 特别感谢英文网 http://blog.revivalx.com/2015/02/23/uitableview-tutorial-in-swift-using-alamofire-haneke-and-swiftyjson/ 有一点特别注意的是,方法 self.tableView.reloadData() 要在变量wifi改变的时候立马加入 阅读全文
posted @ 2017-01-06 19:20 布袋 阅读(1960) 评论(1) 推荐(0)
摘要: BlockOperation和GCD实用代码块 阅读全文
posted @ 2017-01-01 22:13 布袋 阅读(965) 评论(1) 推荐(0)
摘要: webdiyer ----------------- AspNetPager中的EnableUrlRewriting="true" UrlRewritePattern="./News-PageIndex{0}.html" 这句非常重要 web.config ----------------- ~/News-PageIndex(\d{0,10})\.html ~/News.aspx?page=$1 add verb="*" path="*.aspx" type="URLRewriter.Rewr 阅读全文
posted @ 2010-03-06 00:27 布袋 阅读(1322) 评论(4) 推荐(1)