Corona中文站

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

导航

五分钟学会Corona(十二) - 字符串处理
这个库提供了字符串处理的通用函数,例如查找和提取子字符串,以及模式匹配。当在lua中索引一个字符串时,第一个字符是从1开始的(而不象C那样从0开始)。索引号可以是附属,用来从后向前索引。例如,最后一个字符的位置就是-1,以此类推。

这个string库把所有的函数放在一个table(string)里。它允许你为字符串设置元表,__index字段指向string table。因此,你可以以面向对象的风格来使用字符串函数。例如,string.byte(s, i)也可以写成 s:byte(i)。

这个string库假定为一字节字符编码。
...
五分钟学会Corona(十一) - Event Sounds
media库提供了访问设备的多媒体特性的能力。

音频播放

media库提供了控制播放的支持:

• event sounds: 完整播放的短小的音频

• extended sounds: 可能更长,并且再播放期间可以餐厅,但是一次只能打开一个


Event Sounds

如果你有再1-3秒的短小的音频,你就应该使用event sound APIs. 下面就是一个每秒播放一声beep的节拍器的例子。

local soundID = media.newEventSound( "beep.caf" )
...
五分钟学会Corona(十) - 视频
视频回放,其实是依赖于设备指定的弹出式媒体播放器。在视频播放期间,视频播放器的界面会弹出来。

很重要的一件事是, media.playVideo是异步的。一旦代码块退出,应用程序将会被挂起,直到视频播放完成。

因此,如果媒体播放器退出时,你想要得到通知的话(例如,视频播放完毕或者用户取消了视频播放),你应该注册一个listener。

local onComplete = function(event)

print( "video session ended" )

end

media.playVideo( "Movie.m4v", true, onComplete )
...
五分钟学会Corona(九) - 音频系统
一般介绍

Corona音频系统让你可以访问高级OpenAL特性。最终它将替换Corona Event Sound系统。然而,目前它还是在计划中。请阅读这一节中对android限制,文件格式以及性能提示的重要信息。

Android: 音频文件名限制

在Android上,文件名相同但扩展名不同的文件在编译期,被映射为同一个资源名称。现在这个不优雅的错误,会携带一个连接错误:( corona.get)message。唯一的解决办法,就是修改文件名。例如,AudioPlayer范例app使用一个命名方案,简单的把扩展名合并到文件名中:
...
五分钟学会Corona(八) - Sprite高级动画
神马是Sprite Sheets?

Sprite sheet是把多个帧打包在一个文本图片中,来实现2D动画效果。这提供了对纹理内存更加高效的利用,在移动设备上内存是非常有限的,并且也可以最小化加载时间。

Corona支持两种sprite sheet:1、动画帧的大小和位置都一致;2、动画帧的大小和位置都不一致。在前一种情况,你只要向Corona提供在sprite sheet图片文件中每一帧的宽度和高度,就可以创建sprite sheet的新的内部表现形式。下面这张图片(来自 JungleScene 范例工程),是使用规格统一的帧的sprite sheet的一个例子。
...
五分钟学会Corona(七) - 基本运动与变换
关于Corona SDK最强大的一件事,就是任何display object,都可以动画之。这足以证明Corona的图像模型的超级灵活性。

动画允许你创建一个视觉丰富,引人入胜的使用体验。动画是通过生成一个帧序列来完成的,在帧到帧之间平滑的演变。术语“补间”(简称 inbetween)就是说这种中间帧的生成过程的。它通常用来略称,一个对象在动画期间一个属性的改变,比如位置补间。

变换

transition允许你很容易的只用一行代码来创建动画,这通过允许你补间一个display object的一个或多个属性来实现。例如你可以淡出一个display object,通过补间其alpha属性(这个alpha属性从1.0到0)。
...
五分钟学会Corona(六) - Bitmap Mask
Corona的位图遮照特性,允许你用一个image作为一个位图,将其应用到其他display object上。Corona把该image内部转成灰度图;黑色表示屏蔽,白色表示没有;一个遮照可以有自己的可以被间补的变换。通过被遮照的display object可以访问到这些属性。

一个位图遮照,可以被应用到其他display object上,但是有的对象是不会被遮照的,这包括text对象和本地的display object。

注意

当一个image被作为遮照加载后,就不能被当作image对象加载,反之亦然。规则就是每个文件一个纹理,因为纹理缓存中必须标明一个文件,要么是一个遮照,要么是一个RGBA纹理。
...
五分钟学会Corona(五) - DisplayObject和Stage
所有发生在屏幕上的绘制活动,都通过创建DisplayObject来完成。实际上,任何在屏幕上显示的东西,都是一个DisplayObject的实例。

创建Display Objects

实际上,你并不直接创建这些对象。而是,你创建一些特定类型的DisplayObject,例如 rectangles, circles, images, text, groups, 等等。

这些对象都是第一类。你可以修改他们的位置、旋转他们、启用动画,把他们当作按钮,等。

所有这些对象共有一些常规的属性和方法,在Corona SDK语言和API参考的 Display Objects 一章里可以看到。
...
五分钟学会Corona(四) - Images, Shapes, 和Text
关于Display Object

所有在屏幕上发生的绘制,都是通过创建DisplayObject来完成的。任何显示在屏幕上的东西,都是DisplayObject的实例。但你不能直接创建display object,而是直接创建display object的某种特例,例如rect、circle,image,text等。

这些对象都是第一类型。你可用它们产生动画,把它们变成按钮,等等。

你通过调用一个特定的函数来创建display object。这显式地把你创建的对象添加到其他对象的上面。DisplayObject是被设计用来作为公共功能的协议,所以你不能显示的创建一个Display Object对象本身。
...
五分钟学会Corona(三) - 基础函数
下面是在可以在corona中使用的,基本的全局函数。出于安全原因,部分Lua标准函数不允许使用。具体,参看本章最后部分 Changes to Lua 。

assert (v [, message])当参数表达式v的结果为false(nil或false),提示一个错误。否则,什么也不作,只是返回所有参数。message参数是错误信息;如调用时忽略这个参数,则默认是“assertion failed”。

error (message [, level])终止当前函数调用,使用message作为出错信息。这个函数不返回值。
...
«123456789»

日历

<< 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.