Corona中文站

强大、易学的跨平台(iOS/Android)开发框架。QQ群1:74390406(满) 群2:221929599

导航

五分钟学会Corona(二十八) - 模块和包
Corona支持lua模块功能,以创建和加载附加的库。有许多库都携带在sdk里。两个典型的例子库是:“ui.lua”(用来创建翻滚按钮)和“sprite.lua”(用来创建动画精灵,或“ movieclips”)。

这些库可以在“Button”和“MoiveClip”例子工程中找到,位于SDK的SampleCode目录里。为了在你自己的项目中引用之,你需要将他们拷贝到你的项目目录里。

你也可以创建你自己的lua模块,其对于组织多个文件到一个大项目中很有用。或者为将来的项目创建可重用的代码库。
...
五分钟学会Corona(二十七) - 性能和优化
当你开发你的应用程序时,你总是会考虑你的设计选择,将会怎样影响到你程序的性能。尽管近来计算能力有所改善,但移动设备仍然要面对一些根本性制约:处理能力、内存使用以及电池寿命等。所以,在性能和优化方面最好的考虑,也不仅仅是加快响应速度,也包括最小化内存使用,和最大化电池寿命。


高效使用内存

在移动设备上,内存是一个关键资源。有些设备会当你吃掉太多内存的时候,强行关闭你的应用程序。


• 消除内存泄露. 你的应用程序不应该造成内存泄露。允许内存泄露意味着你的应用程序可能在之后它需要内存的时候无法得到内存。尽管Lua使用自动内存管理,但在你的代码里还是有可能发生内存泄露。 (see Memory Allocation).例如全局变量永远不会被回收,它需要你告诉lua,以 (globalVar = nil)的方式来回收这些变量。如果一个全局变量是 table,那么这个table中的每一个项目都只有在你使用nil out时,才会被释放。(globalVar.item = nil)
...
五分钟学会Corona(二十六) - 本地 UI
本地库提供了访问设备的多种本地UI特性。

Activity Indicator

native.setActivityIndicator( )

native.setActivityIndicator( visible ) 显示或隐藏一个平台指定的 activity indicator。Touch Event在indicator 被显示的时候被忽略。

注意,直到lua代码块的结尾,这个indicator才会显示。代码块包含setActivityIndicator(true) 调用已经完全执行。同时,如果你在相同的代码块里显示和隐藏这个indicator,那么indicator并不会正常显示。而是应该,在不同的函数调用或函数回调中,隐藏这个activity indicator。例如,下面的代码使用timer对象在2秒后隐藏indicator。
...
五分钟学会Corona(二十五) - Event 和 Listener
Event被分发到listener上。Event Listener既可是函数,也可以时对象(参看前面的 Function vs Table Listeners)。两种情况下,当事件发生,listener将被调用,并且得到一个描述event的table。所有的event将有一个属性name,来识别是哪一种事件。

注册事件

你用Corona库创建的一些对象是都是事件监听器。这包括所有的display object和全局Runtime对象。你可以使用下列对象方法为event添加和删除listener:
...
五分钟学会Corona(二十四) - 交互性和事件检测
事件是你创建交互程序的主要方式。它们是在你的程序中触发响应的一种方式。例如,你可以把任意display object放入一个交互按钮中。这种灵活性在Corona SDK中是最重要的东西。


全局事件

一些事件是广播的,例如“enterFrame”,“system”,“orientation”等。这些事件是全局的,因为它们不针对任何一个特定的对象。相反,它们广播给所有感兴趣的listener。下面这个来自“Orientation”例子的代码,它说明了你的应用程序如何响应定位改变:


local label = display.newText( "portrait", 0, 0, nil, 30 )
...
五分钟学会Corona(二十三) - OS Library
OS Library

这个库是通过table os来实现的。

os.clock ()

返回一个精确到秒的CPU时间,给程序使用。


os.date ([format [, time]])

返回一个包含日期和时间的字符串或table,并且可以通过字符串format指定格式。

如果time参数也有的话,这就是要被格式化的时间(参看os.time函数可以得到一个这个值的描述)。否则,函数格式化当前的时间。

如果format是用“!”开始的话,那么date会被采用 Coordinated Universal Time格式。这个可选字符后,如果格式是字符串“*t”,则date返回一个table,包含下列字段:year(四个数字),month(1-12),day(1-31),hour(0-23),min(0-59),sec(0-61),wday(星期方式的天,星期天是1),yday(一年中的天),isdst(夏令时标志,布尔值)。
...
五分钟学会Corona(二十二) - System and OS
System Library

system.getInfo( param )返回应用程序所运行的系统的信息。第一个参数param是个字符串,用来确定返回什么。param的有效值如下:

• "name" 返回设备的人类可读的名称。在iPhone上,就是在iTunes上显示的手机名称,比如 "Steve's iPhone".

• "model" 返回人类可读的模型名,如 "iPhone".

• "deviceID" 返回设备唯一的ID,例如IMEI或类似的数字

• "environment" 返回应用程序运行的环境,有效值可以是:
...
五分钟学会Corona(二十一) - 应用内支付
这个特性允许你支持应用内支付。当前,只有Apple iTunes Store被支持。在未来也许其他商店会加入这个特性。

Apple iTunes Store 的应用内支付

应用内支付允许用户购买额外的内容。然而, Apple iTunes Store只管理交易信息!开发者不能使用 Apple App Store来分发内容。所以,要么你捆绑内容在你的app里,等到付费之后来解锁这个内容;要么你不得不开发一个你自己的系统来下载付费后你想分发的内容。为了支持可下载内容,你应该使用我们新的 Network/AsynchHTTP API。
...
五分钟学会Corona(二十) - 异步HTTP
该特性允许你发起异步的HTTP和HTTPS/SSL调用,任何有效的HTTP方法(“GET”,“POST”等等),以及添加自定义的 header和body content。你的 Corona程序不需要停止, 等到服务器的响应到来时,通过event listener来捕获并且从event中取得数据。

另外,你可以选择下载网络响应到一个特定的文件,而不是加载到内存中。当这个响应是一个很大的文档或一个图片时,是很有用的。

两个新的例子工程说明了该特性的用法: "Network/AsynchHTTP" 和 "Network/AsynchImageDownload".
...
五分钟学会Corona(十九) - OpenFeint
OpenFeint是一个第三方的库,提供了社会化游戏特性,例如公共排行榜和成就系统。为了获得更多信息,请参看 http://www.openfeint.com/ 和 http://www.openfeint.com/developers.

• 这个API是实验性的,并且会变化,因为OpenFient目前也在完善中,而Apple Game Center最近也将发布。

• 在当前的alpha版本,只支持iOS,因为OpenFient暂不支持Android。

• 没有模拟器可以支持这个特性,因为 OpenFeint 对MacOS也不可用。
...
«123456789101112»

日历

<< 2014-10 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

最近发表

Copyright 2011-2015 BuildApp.Net. All Rights Reserved.