`
文章列表
如果已经有了一个老的iOS应用,它是使用Objective-C编写的,而它的一些新功能需要采用Swift来编写,这时就可以从Objective-C调用Swift。 Objective-C调用Swift时不需要桥接头文件,而是需要Xcode生成的头文件。这种文件由Xcode生成,不需要我们维护,对于开发人员也是不可见的。如下图所示,它能够将Swift中的类暴露给Objective-C,它的命名是:<工程名>-swift.h。我们需要将该头文件引入到Objective-C文件中,而且Swift中的类需要声明为@objc。 创建Objective-C工程 为了能够更好地介绍混合 ...
Swift调用Objective-C需要一个名为“<工程名>-Bridging-Header.h”的桥接头文件,如下图所示。桥接头文件的作用是为Swift调用Objective-C对象搭建一个桥,它的命名必须是“<工程名>- Bridging-Header.h”,我们需要在桥接头文件中引入Objective-C头文件,而且桥接头文件是需要管理和维护的。     创建Swift工程为了能够更好地介绍混合搭配调用,我们首先创建一个Swift工程。出于简单考虑,我们可以创建一个Mac OS X命令行工程,而不是一个iOS工程。启动Xcode 6,然后单击File→N ...
Swift程序有两类注释:单行注释(//)和多行注释(/*...*/)。注释方法与C、C++和Objective-C语言都是类似的,下面详细介绍一下。1. 单行注释单行注释可以注释整行或者一行中的一部分,一般不用于连续多行的注释文本。当然,它也可以用来注释连续多行的代码段。以下是两种注释风格的例子: [html] view plaincopy
我们在上一章中介绍了如何使用Swift编写一个HelloWorld小程序,其中就用到了变量。常量和变量是构成表达式的重要组成部分。常量在声明和初始化变量时,在标识符的前面加上关键字let,就可以把该变量指定为一个常量。顾名思 ...
任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字。 标示符 标识符就是给变量、常量、方法、函数、枚举、结构体、类、协议等指定的名字。构成标识符的字母均有一定的规范,Swift语言中标识符的命名规则如下: 区分大小写,Myname与myname是两个不同的标识符; 标识符首字符可以以下划线(_)或者字母开始,但不能是数字; 标识符中其他字符可以是下划线(_)、字母或数字。 例如,identifier、userName、User_Name、_sys_val、身高等为合法的标识符,而2mail、room#和class为非法的标识符。其中,使用中文“身高 ...
从控制台输出“HelloWorld”是我学习C语言的第一步,也是我人生中非常重要的一步。多年后的今天,我仍希望以HelloWorld作为第一步,与大家共同开启一个神奇、瑰丽的世界——Swift编程。 本章以HelloWorld作为切入点,向大家系统介绍如何使用Xcode的Playground编写和运行Swift程序代码。 编写和运行Swift程序有多种方式,我们可以通过在Xcode中创建一个iOS或Mac OS X工程来实现,也可以通过使用Xcode6提供的Playground来实现。在学习阶段,我推荐大家使用Playground工具编写和运行Swift程序。 编程利器Playgro ...
设置场景(Setting),Setting.h文件代码如下: [html] view plaincopy
HelloWorld场景就是游戏中的主菜单场景。HelloWorld.h文件代码如下: [html] view plaincopy
为了进一步了解背景音乐和音效播放的,我们通过一个实例给大家介绍一下。如下图所示有两个场景:HelloWorld和Setting。在HelloWorld场景点击“游戏设置”菜单可以切换到Setting场景,在Setting场景中可以设置是否播放背景音乐和音效,设置完成后点击“OK”菜单可以返回到HelloWorld场景。    我们需要在AppDelegate中实现背景音乐播放暂停与继续函数,AppDelegate.h文件代码如下: [html] view plaincopy
背景音乐播放暂停与继续似乎我们很少使用,事实上也正是如此,背景音乐播放暂停与继续实例代码如下:   [html] view plaincopy   SimpleAudioEngine::getInstance()-
停止背景音乐播放代码放置到什么地方比较适合呢?例如:在HelloWorld场景中,主要代码如下:   [html] view plaincopy
背景音乐的播放与停止实例代码如下: [html] view plaincopy   SimpleAudioEngine::getInstance()->playBackgroundMusic("sound/Jazz.mp3", true);  
Cocos2d-x提供了一个音频CocosDenshion引擎,CocosDenshion引擎可以独立于Cocos2d-x单独使用,CocosDenshion引擎本质上封装了OpenAL音频处理库。具体使用的API是SimpleAudioEngine。SimpleAudioEngine有几个常用的函数:void preloadBackgroundMusic (const char *pszFilePath) 预处理背景音乐文件,将压缩格式的文件进行解压处理,如MP3解压为WAV。void playBackgroundMusic (const char *pszFilePath) 播放背景音乐 ...
下面我们通过一个实例介绍一下如果通过层加速度计事件实现访问加速度计。该实例场景如下图所示,场景中有一个小球,当我们把移动设备水平放置,屏幕向上,然后左右晃动移动设备来改变小球的位置。   下面我们再看看具体的程序代码,首先看一下HelloWorldScene.h文件,它的代码如下:   [html] view plaincopy  
加速度计是一种能够感应设备一个方向上线性加速度的传感器。广泛用于航空、航海、宇航及武器的制导与控制中。线加速度计的种类很多,在iOS等移动设备中目前采用的是三轴加速度计,可以感应设备上X、Y、Z轴方向上线性加速度的变化。如下图所示,iOS和Android等设备三轴加速度计的坐标系是右手坐标系,即:设备竖直向上,正面朝向用户,水平向右为X轴正方向,竖直向上为Y轴正方向,Z轴正方向是从设备指向用户方向。     更多内容请关注Cocos2d-x系列图书《Cocos2d-x实战(卷Ⅰ):C++开发》 本书交流讨论网站:http://www.cocoagame.net 欢迎加 ...
Global site tag (gtag.js) - Google Analytics