Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1905601
  • 博文数量: 496
  • 博客积分: 12043
  • 博客等级: 上将
  • 技术积分: 4778
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-27 14:26
文章分类

全部博文(496)

文章存档

2014年(8)

2013年(4)

2012年(181)

2011年(303)

2010年(3)

分类: 嵌入式

2012-03-05 09:07:56

Corona开发5分钟入门教程
2011-07-11 09:58 白云哥 all-ipad.net 字号: |
一键收藏,随时查看,分享好友!

前段时间我们介绍过Corona SDK库的优与劣。在iOS与Android开发中,Corona把iOS与Android平台的完美融合,跨平台应用移植将不再是噩梦了。

AD:

关于Corona

如果你正在做iOS应用,或者关注过iOS开发,那么一定听说过Corona这个名字。

在苹果修改了app审核策略,允许使用第三方语言开发应用之后,Corona,这个曾经只能在破解系统上玩一玩的项目终于被更多人所关注,售价也从 99美元涨到了299美元,当然现在又降到了149美元.不过看看他长长的Showcase列表就不难发现,这也确实是一个值得关注的引擎。

简单来说,使用Corona的优势主要有这么几点:

◆不需要使用复杂的Objective-C,不需要经历繁琐的编译过程,使用更加简单的,解释型的Lua语言来开发应用

◆可以用你的Windows PC来开发iOS应用,当然如果要发布到AppStore还是需要一台iMac或MacBook (Pro)

◆iOS与Android平台的完美融合,应用移植不再是噩梦

◆丰富的API以及第三方库的集成,让应用开发变得更加简单快捷

开发方法

如果你已经下载安装了Corona SDK,那么应该也注意到了,在CoronaSDK目录下只有一个Corona Simulator和一个Terminal,还有一个debuger,没有编辑器。是的,Corona的开发还是主要信赖于代码编写,当然在Corona 网站的Tools里能够找到图形化的开发工具,也可以尝试一下。

运行模拟器的方法也有三种:

◆直接运行Corona Simulator,一般在演示运行app的时候使用,你将看不到任何打印出来的错误信息

◆运行Corona Terminal,这是日常开发最常用的方法,它将会开启模拟器,同时会出现一个终端窗口用于显示打印的调试信息和错误信息

◆运行debugger,这将会开启模拟器和一个带交互功能的终端,在需要调试时使用,当然你需要熟悉gdb之类的调试工具

当模拟器运行起来的时候,从File — Open找到你需要测试的app的main.lua并打开,这时在模拟器窗口上会出现app画面,同时终端窗口会出现打印信息。就像下图这样:

Hello World

学习的最好方法是实践,所以让我们从最简单的一个例子开始,创建一个app。是的,所有的例子都是从“世界你好!”开始的。

使用一个你最喜欢的文本编辑器,创建一个文本文件,敲入以下内容

  1. print("Hello World") 

然后把文件保存 为main.lua,注意app的主文件必须是main.lua,最好是把这个app的所有相关文件放到一个单独的目录下。一般情况下每个app都应该有其独立的目录,比如这里我们就叫他Sample1。

然后按照上面所说的,在Corona Simulator中File –> Open找到刚刚保存的main.lua文件并打开,如果一切顺利的话,你将什么也看不到。是的,什么也看不到!不过你要是通过Simulator打开的 模拟器,那么在终端窗口里还是能够看到些东西,就像下面这样:

那个Hello World就是我们刚刚输出的。

Simulator vs Terminal

刚刚我们的print(“Hello World”)语句确实产生了作用,不过这显示不是我们所要的效果,我们希望的是能够在app里输出一行文字,但是现在到了终端窗口里面。那么,模拟器与终端有什么区别呢?

简单来说,终端窗口主要是用来输出调试/警告/错误信息用的,虽然在这正式的app里看不到,但对于我们的开发阶段还是很有用的,我们不需要使用复杂的debugger就能够了解程序现在运行的怎么样了。

Hello World on the Simulator

如果要在模拟器界面上输出文本,我们需要另外的函数,这些函数都来自于 Corona graphics library。

在这里,我们可以这样做:

  1. local textObject = display.newText("Hello World", 50, 50, nil, 24) 
  2.  
  3. textObject:setTextColor(255,255,255) 

再次在模拟器上运行一下这个程序,你将会看到下面的结果:

是的,这正是我们想要的。关于上面两行代码的细节就不过多描述,如果你是一个程序员,这没有什么难的,如果你不是,好吧,lua语言确实不怎么难。

需要注意一下的是display.newText和textObject:setTextColor,这两个函数调用,一个用的是.号,一个用的 是:号,这是lua语言的两种函数调用方式,或者说:号调用其实是.调用的语法简化形式,具体的描述还是需要通过lua手册来了解。

使用Corona SDK的一个好处,或者说是使用lua这类动态语言的一个好处就是你可以很方便的看到修改后的效果,而不需要像Objective-C那样经历编译-链接 过程。当你修改了main.lua文件,保存它,这时Simulator会主动提醒你文件已更新,是否需要重新加载,选“是”就能立即看到修改后的效果。 当然,你也可以在运行过程中主动要求重新加载app,使用Command -R即可,不需要等待编译,也不需要关闭模拟器再重新打开。

阅读(1146) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~