`
文章列表

Swift函数

函数定义   使用 func 定义一个函数。调用函数使用他的名字加 上小括号中的参数列表。使用 -> 分隔参数的名字和 返回值类型。   函数声明:     [html] view plaincopy
分支语句   1. 条件语句 if-else ,基本语法形式如下,其中 “[]” 中 的部分可以省略。     [html] view plaincopy
字典初始化   基本语法:   [key 1: value 1, key 2: value 2, key 3: value 3]  var   airports:    Dictionary<String,       String>    = ["TYO": "Tokyo", "DUB":"Dublin"]  字典追加元素  var   airports:    Dictionary<String,       String>    = ["TYO": ...
数组初始化 基本语法: [value 1, value2, value 3]  var    shoppingList:        String[]    =   ["Eggs","Milk"] 数组追加元素  append 函数追加 或通过+操作符 var    shoppingList:        String[]     =   ["Eggs", "Milk"]  hoppingList.append("Flour")  shoppingList        += ...
元组将多个值组合为单个值。元组内的值可以是任意 类型,各元素不必是相同的类型。元组在作为函数返 回值时尤其有用。   1、定义方法1         let http404Error= (404,"Not Found")         println("The status codeis \(http404Error.0)") // prints "The status codeis 404"     println("The statusmessage is \(http404Erro ...
字符串初始化  1、初始化     [html] view plaincopy  
整型      Swift 提供 8、16、32、64 位形式的有符号及无符号整数。这些整数类型遵循 C 语言的命名规 约,如 8 位无符号整数的类型为 UInt8,32 位 有符号整数的类型为 Int32。与 Swift 中的所有 类型一样,这些整数类型的名称以大写字母开 头。   Swift 还提供了一个整数类型Int:      在 32 位平台,Int 与 Int32 宽度一致。      在 64 位平台,Int 与 Int64 宽度一致。              Swift 还提供了无符号整数类型 UInt:      在 ...
Swift  是用于设计 iOS 及 Mac OS X 应用的一门新 语言。   Swift 特点   •   Swift  保留了 C  与 Objective-C 的优点,并摒弃 其为了兼容 C  语言所受的限制。   •    Swift吸纳了安全编程模式,并新增了一些现代 化功能,使其更易使用、更为灵活、更具乐趣。   •     Swift 的 简 洁 风 格 与 广 受 欢 迎 的 成 熟 框 架Cocoa / Cocoa Touch 相结合,将为重新构思软件的开 发过程带来新机遇。   •   Swift 内存管理采用 ARC 风格。     Swift ...
在多个场景切换时候,场景的生命周期会更加复杂。这一节我们介绍一下场景切换生命周期。 多个场景切换时候分为几种情况: 情况1,使用pushScene函数从实现HelloWorld场景进入Setting场景。 情况2,使用replaceScene函数实现从HelloWorld场景进入Setting场景。 情况3,使用popScene函数从实现Setting场景回到HelloWorld场景。   我们参考HelloWorld重写Setting层的中几个生命周期函数,代码如下:   [html] view plaincopy
层(Layer)的生命周期函数有如下: init()。初始化层调用。 onEnter()。进入层时候调用。 onEnterTransitionDidFinish()。进入层而且过渡动画结束时候调用。 onExit()。退出层时候调用。 onExitTransitionDidStart()。退出层而且开始过渡动画时候调用。 cleanup()。层对象被清除时候调用。   提示  层(Layer)继承于节点(Node),这些生命周期函数根本上是从Node继承而来。事实上所有Node对象(包括:场景、层、精灵等)都有这些函数,只要是子类化这些类都可以重写这些函数,来处理这些对象 ...
场景切换是通过导演类Director实现的,其中的相关函数如下: runWithScene(Scene* scene)。该函数可以运行场景。只能在启动第一个场景时候调用该函数。如果已经有一个场景运行情况下则不能调用该函数。 replaceScene(Scene* scene)。切换到下一个场景。用一个新的场景替换当前场景,当前场景被终端释放。 pushScene(Scene* scene)。切换到下一个场景。将当前场景挂起放入到场景堆栈中,然后再切换到下一个场景中。 void popScene()。与pushScene配合使用,可以回到上一个场景。 void popToRootSc ...
精灵帧缓存是缓存的一种,缓存有如下几种: 纹理缓存(TextureCache)。使用纹理缓存可以创建纹理对象,在上一节我们已经用到了。 精灵帧缓存(SpriteFrameCache)。能够从精灵表中创建精灵帧缓存,然后再从精灵帧缓存中获得精灵对象,反复使用精灵对象时候,使用精灵帧缓存可以节省内存消耗。 动画缓存(AnimationCache)。动画缓存主要用于精灵动画,精灵动画中的每一帧是从动画缓存中获取的。 这一个节我们主要介绍精灵帧缓存(SpriteFrameCache),要使用精灵帧缓存涉及到的类有:SpriteFrame和SpriteFrameCache。使用SpriteFra ...
游戏是一种很耗费资源的应用,特别是在移动设备中的游戏,性能优化是非常重要的  纹理图集(Texture Atlas)也称为精灵表(Sprite Sheet),它是把许多小的精灵图片组合到一张大图里面。使用纹理图集(或精灵表)有如下主要优点:   减少文件读取次数,读取一张图片比读取一堆小文件要快。 减少OpenGL ES绘制调用并且加速渲染。 减少内存消耗。OpenGL ES 1.1仅仅能够使用2的n次幂大小的图片(即宽度或者高度是2、4、8、64...)。如果采用小图片OpenGL ES1.1会分配给每个图片2的n次幂大小的内存空间,即使这张图片达不到这样的宽度和高度也会分配 ...
精灵类是Sprite,它的类图如下图所示:   Sprite类直接继承了Node类,具有Node基本特征。此外,我们还可以看到Sprite类的派生类有:PhysicsSprite和Skin。PhysicsSprite是物理引擎精灵类,Skin是皮肤精灵类用于骨骼动画。 使用纹理Texture2D对象创建Sprite对象是使用createWithTexture函数实现的。我们会通过一个实例介绍纹理对象创建Sprite对象使用,这个实例如下面第一张图所示,其中地面上的草是放在背景中的,场景中的两棵树是从“树”纹理图片中截取出来的,最后一张图所示的是树的纹理坐标,注意它的坐标原点在左上角 ...
开关菜单是MenuItemToggle类实现的,它是一种可以进行两种状态切换的菜单。它可以通过下面的函数创建:   [html] view plaincopy
Global site tag (gtag.js) - Google Analytics