教程说明:使用工具:CoronaSDK执行难度:正常运行时间:1小时Step1:应用概述使用准备好的图片素材,我们将使用Lua和Corona基于SDKAPI编写自己的指南针应用程序。基本上,成品类似于iOS附带的Apple官方指南针应用程序。第二步:目标开发平台首先,我们需要选择应用工作所基于的运行平台。确认这一点后,我们就可以选择与设备相匹配的图片显示尺寸了。iOS系统平台具体参数如下:iPad:1024x768分辨率,132ppiiPhone/iPodTouch:320x480分辨率,163ppiiPhone4:960x640分辨率,326ppi由于Android平台的开放性,我们需要面对各种参数设备和分辨率。这里我们选择几款热门产品作为主要参考对象:GoogleNexusOne:480x800resolution,254ppiMotorolaDroidX:854x480resolution,228ppiHTCEvo:480x800resolution,217ppi在这篇攻略文章中,我们主要使用iOS平台——尤其是iPhone/iPod作为图形设计工作的基准。不过下面使用的代码理论上也适用于安卓系统CoronaSDK的开发。第三步:用户界面简单友好的用户界面将帮助我们的应用顺利打开市场。在指南针应用程序中,用户界面的主要元素是背景图案和指针图形。本指南涉及的所有界面图文资源都汇总在一个压缩包中,您可以点击下方链接获取使用。下载链接:https://mobiletuts.s3.amazonaws.com/Corona-SDK_Compass/source.zip第四步:导出图片根据您选择的设备平台,我们需要导出合适PPI和大小的图片资源。这个工作很简单,任何主流的图片编辑工具都可以做,大家可以根据自己的习惯来处理。我个人使用的是MacOSX自带的图片预览应用AdjustSize。导出完成后,请记得给文件取一个清晰准确的名字,并保存在项目文件夹中。第五步:应用配置首先创建一个外部文件config.lua,用于保证应用在设备上全屏运行。该文件会清晰展示应用的原始分辨率,并提供一套缩放方案,确保应用在各种设备的独特分辨率下都能正确显示。application={content={width=320,height=480,scale="letterbox"},}第六步:Main.lua好了,准备工作就绪,现在开始写应用程序!启动您最喜欢的Lua编辑器(任何文本编辑工具都可以,但并非都支持Lua语法高亮显示),并准备好开始编写您的汗流浃背的应用程序!请记住,一定要将文件保存在项目文件夹中,并将其命名为Main.lua。第七步:代码结构我们需要以类的形式来构造代码。如果你熟悉ActionScript或者Java,你一定会发现我推荐的结构基本符合两者的结构特点。NecessaryClassesVariablesandConstantsDeclareFunctionscontructor(Mainfunction)classmethods(otherfunctions)callMainfunction第八步:隐藏状态栏display.setStatusBar(display.HiddenStatusBar)这段代码的作用是隐藏状态栏。状态栏在任何移动系统平台都会出现,一般位于屏幕顶部,主要显示时间、信号强度等提示信息。Step9:背景图案由于是练习用的小作品,我们暂且使用上图作为背景图案。以下代码行用于将图像引入应用程序。--Graphics--[Background]localbg=display.newImage('bg.png')Step10:Pointer指针的作用是指示当前方向,用户可以很容易地通过背景图案了解想要的方向。--[Pointer]localpointer=display.newImage('pointer.png')第十一步:指针文字信息以下变量的作用是显示当前指向的具体方位和角度。--HeadingTextlocalheading=display.newText('0',display.contentCenterX,60,native.systemFont,21)第十二步:函数声明在应用程序启动之初,向用户声明本地函数的基本状态。--FunctionslocalMain={}localupdate={}第十三步:构造函数接下来,我们需要创建一套运行逻辑初始化机制,具体函数设置如下:functionMain()pointer:setReferencePoint(display.CenterReferencePoint)pointer。x=display.contentCenterXpointer.y=display.contentCenterYheading:setTextColor(255)heading:setReferencePoint(display.CenterReferencePoint)Runtime:addEventListener('heading',update)end第14步:旋转指针我们使用指向事件的反馈(标题)地球磁场导致指针旋转。functionupdate(e)--PointerRotationpointer.rotation=math.floor(e.magnetic)Step15:PointtoText&Orientation以下代码用于检测指针当前旋转状态,帮助用户读取当前方向指南针应用程序。--HeadingText&Directionif(pointer.rotation>=0andpointer.rotation<23)thenheading.text=math.floor(e.magnetic)..'N'heading:setReferencePoint(display.CenterReferencePoint)heading.x=display.contentCenterXelseif(pointer.旋转>=23andpointer.rotation<68)thenheading.text=math.floor(e.magnetic)..'NE'heading:setReferencePoint(display.CenterReferencePoint)heading.x=display.contentCenterXelseif(pointer.rotation>=68andpointer.rotation<113)thenheading.text=math.floor(e.magnetic)..'E'heading:setReferencePoint(display.CenterReferencePoint)heading.x=display.contentCenterXelseif(pointer.rotation>=113andpointer.rotation<158)thenheading.text=math.floor(e.magnetic)..'SE'heading:setReferencePoint(display.CenterReferencePoint)heading.x=display.contentCenterXelseif(pointer.rotation>=158andpointer.rotation<203)thenheading.text=math.floor(e.magnetic)..'S'heading:setReferencePoint(display.CenterReferencePoint)heading.x=display.contentCenterXelseif(pointer.rotation>=203andpointer.rotation<248)thenheading.text=math.floor(e.magnetic)..'SW'heading:setReferencePoint(display.CenterReferencePoint)heading.x=display.contentCenterXelseif(pointer.rotation>=248andpointer.rotation<293)thenheading.text=math.floor(e.magnetic)..'W'heading:setReferencePoint(display.CenterReferencePoint)heading.x=display.contentCenterXelseif(pointer.rotation>=293andpointer.rotation<360)thenheading.text=math.floor(e.magnetic)..'NW'heading:setReferencePoint(display.CenterReferencePoint)heading.x=display.contentCenterXendendStep16:在应用程序启动时调用Main函数进行初始化,我们需要调用Main函数上面的代码写完后,我们只需要编辑如下内容就可以实现初始化需求:Main()第十七步:加载界面当我们启动指南针应用时,iOS系统会加载基本的数据逐项显示,此时Default.png文件会在主界面显示为背景图案。将此图像保存到我们的项目资源文件夹中,以便它自动添加到Corona的编译器中。第18步:图标现在是每个人的绘图技巧派上用场的时候了,让我们为您的应用程序创建一个漂亮而令人印象深刻的图标。在非视网膜iPhone设备上,图标文件大小应为57x57像素,而视网膜屏幕需要114x114像素,我们还需要为iTunes软件商店创建一个512x512图形的大版本。我建议您从512x512像素开始作为基准设计,然后缩小到其他两个尺寸。您无需在图标创建上投入太多精力,制作圆角或添加半透明效果完全是多余的——因为iTunes和iPhone会自动为您实现这些效果。第十九步:在模拟环境中进行测试现在是进行最终测试的时候了。打开Corona模拟器,选择我们的项目文件夹并单击“打开”。如果一切都按预期顺利运行,那么我们可以继续执行最后一项工作。第20步:创建在Corona模拟器中,点击文件选项下的创建项,选择目标设备平台。在对话框中输入项目数据,然后单击“创建”按钮。等待几秒钟,我们的应用程序就完成了!然后您可以在设备上对其进行测试,或者直接将应用程序发布到软件商店。综上所述,后测越多越好。当我们对自己的应用作品进行细节打磨时,让我们发布用户版本——这可能是走向辉煌成功的第一步!希望这篇攻略文章能帮助大家在移动开发的道路上越走越好,感谢大家的支持!原文链接:http://mobile.tutsplus.com/tutorials/corona/corona-sdk-create-a-compass-application/
