- 浏览: 425195 次
- 性别:
- 来自: 北京
-
最新评论
-
rkikbs:
有下载地址么?
我的iOS视频开放了,欢迎大家在线观看 -
wjpiao:
支持支持!
我的iOS视频开放了,欢迎大家在线观看 -
关东升:
wwwang89 写道关老师,你好 ,请问:我的服务器端是用j ...
iOS网络编程-ASIHTTPRequest框架同步请求 -
wwwang89:
关老师,你好 ,请问:我的服务器端是用java写的,不是.ne ...
iOS网络编程-ASIHTTPRequest框架同步请求 -
关东升:
crowning_2008 写道关老师 好!你好
iOS开发那些事-关于性能优化–选择nib还是故事板的讨论
文章列表
函数定义
使用 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