成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

跨平臺工具Corona SDK指南:如何創建指南針應用

譯文
移動開發 Android iOS 移動應用
在本篇指導文章中,大家將學習如何利用Corona SDK和智能手機固有硬件創建指南針應用程序。閑話少敘,咱們馬上開始!

教程說明

  • 使用工具: Corona SDK
  • 執行難度: 普通
  • 操作時間: 一小時

步驟一: 應用程序概述

Corona-SDK_Compass

利用準備好的圖片素材,我們將以Lua及Corona SDK API為基礎編寫屬于自己的指南針應用程序。

基本上,完成品與蘋果公司在iOS系統中自帶的官方指南針應用大同小異。

步驟二: 目標開發平臺

首先,我們要選擇應用程序作品所依托的運行平臺,確定了這一點后我們才能選擇與設備相匹配的圖像顯示尺寸。

iOS系統平臺具體參數如下:

  • iPad: 1024x768分辨率, 132ppi

  • iPhone/iPodTouch: 320x480分辨率, 163 ppi

  • iPhone4: 960x640分辨率, 326 ppi

由于Android平臺的開放特性,我們需要面對各種各樣不同參數的設備及分辨率。這里我們選擇幾款人氣產品作為主要參考對象:

  • 谷歌 NexusOne: 480x800分辨率, 254 ppi

  • 摩托羅拉 DroidX: 854x480分辨率, 228 ppi

  • HTC Evo: 480x800分辨率, 217 ppi

在這篇指南文章中,我們主要以iOS平臺——尤其是iPhone/iPod為基準進行圖像設計工作。不過下文中所使用的代碼理論上也同樣適用于Android系統上的Corona SDK開發。

步驟三: 用戶界面

一款簡潔而友好的用戶界面會幫助我們的應用作品順利打開市場,而在指南針應用中,用戶界面的構成元素主要有背景圖案及指針圖形。

本指南中所涉及的一切界面圖形資源都匯總在壓縮包內,大家可以點擊以下鏈接獲取并使用。

下載鏈接:https://mobiletuts.s3.amazonaws.com/Corona-SDK_Compass/source.zip

步驟四: 導出圖像

根據大家所選擇的設備平臺,我們需要將圖像資源以合適的PPI及尺寸進行導出。這項工作非常簡單,任何一款主流圖像編輯工具都能實現,大家根據自己的習慣處理即可。我個人使用AdjustSize,這是一款Mac OS X系統自帶的圖像預覽應用。導出完成后,請記得給文件起一個清晰準確的名稱,并保存在項目文件夾當中。

步驟五: 應用程序配置

首先創建一個外部文件config.lua,它的作用是保證應用程序在設備上以全屏方式運行。這個文件中會明確出現應用程序的原始分辨率,并提供一套縮放方案,保證應用能夠在各種不同設備的獨特分辨率下正確顯示。

  1. application = 
  2.     content = 
  3.     { 
  4.         width = 320, 
  5.         height = 480, 
  6.         scale = "letterbox" 
  7.     }, 

步驟六: Main.lua

好,準備工作就緒,現在我們開始編寫應用!

打開大家最喜愛的Lua編輯器(任何一款文本編輯工具都能勝任,不過并不是每種都支持Lua語法高亮顯示功能),準備著手編寫滿載自己汗水的應用吧!請記住,一定把文件保存在項目文件夾中,并命名為Main.lua。

步驟七: 代碼結構

我們要將代碼以類的形式進行結構整理。如果大家熟悉ActionScript或者Java,肯定會發現我所推薦的這套結構基本上符合二者的構造特點。

  1. Necessary Classes 
  2.   
  3. Variables and Constants 
  4.   
  5. Declare Functions 
  6.   
  7.     contructor (Main function) 
  8.       
  9.     class methods (other functions) 
  10.   
  11. call Main function   

步驟八: 隱藏狀態欄

  1. display.setStatusBar(display.HiddenStatusBar) 

這條代碼的作用是隱藏狀態欄。狀態欄在任何一款移動系統平臺上都會出現,一般位于屏幕上方,主要顯示時間、信號強度等提示信息。

步驟九: 背景圖案

既然是練手用的小作品,我們就姑且使用上面這幅圖片作為背景圖案。以下幾行代碼用于將圖片引入應用程序。

  1. -- Graphics 
  2. -- [Background] 
  3. local bg = display.newImage('bg.png'

步驟十: 指針

指針的作用是指明當前方位,用戶配合背景圖案即可輕松了解需要的方向。

  1. -- [Pointer] 
  2. local pointer = display.newImage('pointer.png'

步驟十一: 指向文本信息

以下變量的作用在于顯示當前指向的具體方位及角度。

  1. -- Heading Text 
  2. local heading = display.newText('0', display.contentCenterX, 60, native.systemFont, 21) 

步驟十二: 函數聲明

應用啟動之初,向用戶聲明local函數的基本狀態。

  1. -- Functions 
  2. local Main = {} 
  3. local update = {} 

步驟十三: 構造函數

接下來,我們需要創建一套運行邏輯初始化機制,具體函數設定如下:

  1. function Main() 
  2. pointer:setReferencePoint(display.CenterReferencePoint) 
  3. pointer.x = display.contentCenterX 
  4. pointer.y = display.contentCenterY 
  5.  
  6. heading:setTextColor(255) 
  7. heading:setReferencePoint(display.CenterReferencePoint) 
  8. Runtime:addEventListener('heading', update) 
  9. end 

步驟十四: 指針旋轉

我們利用指向事件(heading)反饋得出的地球磁場結果來驅動指針旋轉。

  1. function update(e) 
  2. -- Pointer Rotation 
  3. pointer.rotation = math.floor(e.magnetic) 

步驟十五: 指向文本&方位

下列代碼用于檢測當前指針的旋轉狀態,這有助于使用者借助指南針應用讀取當前方位。

  1. -- Heading Text & Direction 
  2.  
  3.   
  4.  
  5. if(pointer.rotation >= 0 and pointer.rotation < 23) then 
  6.  
  7. heading.text = math.floor(e.magnetic) .. ' N' 
  8.  
  9. heading:setReferencePoint(display.CenterReferencePoint) 
  10.  
  11. heading.x = display.contentCenterX 
  12.  
  13. elseif(pointer.rotation >= 23 and pointer.rotation < 68) then 
  14.  
  15. heading.text = math.floor(e.magnetic) .. ' NE' 
  16.  
  17. heading:setReferencePoint(display.CenterReferencePoint) 
  18.  
  19. heading.x = display.contentCenterX 
  20.  
  21. elseif(pointer.rotation >= 68 and pointer.rotation < 113) then 
  22.  
  23. heading.text = math.floor(e.magnetic) .. ' E' 
  24.  
  25. heading:setReferencePoint(display.CenterReferencePoint) 
  26.  
  27. heading.x = display.contentCenterX 
  28.  
  29. elseif(pointer.rotation >= 113 and pointer.rotation < 158) then 
  30.  
  31. heading.text = math.floor(e.magnetic) .. ' SE' 
  32.  
  33. heading:setReferencePoint(display.CenterReferencePoint) 
  34.  
  35. heading.x = display.contentCenterX 
  36.  
  37. elseif(pointer.rotation >= 158 and pointer.rotation < 203) then 
  38.  
  39. heading.text = math.floor(e.magnetic) .. ' S' 
  40.  
  41. heading:setReferencePoint(display.CenterReferencePoint) 
  42.  
  43. heading.x = display.contentCenterX 
  44.  
  45. elseif(pointer.rotation >= 203 and pointer.rotation < 248) then 
  46.  
  47. heading.text = math.floor(e.magnetic) .. ' SW' 
  48.  
  49. heading:setReferencePoint(display.CenterReferencePoint) 
  50.  
  51. heading.x = display.contentCenterX 
  52.  
  53. elseif(pointer.rotation >= 248 and pointer.rotation < 293) then 
  54.  
  55. heading.text = math.floor(e.magnetic) .. ' W' 
  56.  
  57. heading:setReferencePoint(display.CenterReferencePoint) 
  58.  
  59. heading.x = display.contentCenterX 
  60.  
  61. elseif(pointer.rotation >= 293 and pointer.rotation < 360) then 
  62.  
  63. heading.text = math.floor(e.magnetic) .. ' NW' 
  64.  
  65. heading:setReferencePoint(display.CenterReferencePoint) 
  66.  
  67. heading.x = display.contentCenterX 
  68.  
  69. end 
  70.  
  71. end 

步驟十六: 調用Main函數

為了在應用啟動時進行初始化,我們需要調用Main函數。上述代碼編寫完成之后,我們只需編輯以下內容即可實現初始化需求:

  1. Main() 

步驟十七: 載入界面

當我們啟動指南針應用時,iOS系統會逐項載入基本數據,這時Default.png文件將作為背景圖案顯示在主屏幕當中。將這張圖片保存到我們的項目資源文件夾中,這樣它就會被自動添加到Corona的編譯器中。

步驟十八: 圖標

現在大家的做圖功力就該派上用場了,快為自己的應用打造一款美觀又令人印象深刻的圖標吧。在非視網膜屏的iPhone設備上,圖標文件的尺寸應為57x57像素,而視網膜屏則需要114x114像素,另外我們還需要為iTunes軟件商店打造一個512x512的大版圖形。我建議大家先以512x512像素為基準設計,然后再縮小成其它兩種尺寸。

大家沒必要在圖標制作方面過分投入精力,制作圓角或者添加半透明特效完全是種花蛇添足——因為iTunes與iPhone會自動為你實現這些效果。

步驟十九: 在模擬環境下進行測試

是時候進行最終測試了。打開Corona模擬器,選擇我們的項目文件夾并點擊“打開”。如果一切都依照預期效果順利運行,那么我們就可以著手做***一項工作了。

步驟二十: 創建

在Corona模擬器中,點選文件選項下的創建項并選擇目標設備平臺。在對話框中輸入項目數據并點擊創建按鈕。等上幾秒,我們的應用作品就大功告成啦!接下來大家可以在設備上進行實機測試,或者直接將應用發布到軟件商店中。

總結

后期測試總是越多越好,當我們對自己的應用作品詳加打磨后,發行用戶版吧——這也許會成為輝煌成功的***步!

希望這篇指南文章能夠幫助大家在移動開發的道路上越走越好,感謝朋友們的支持!

原文鏈接: http://mobile.tutsplus.com/tutorials/corona/corona-sdk-create-a-compass-application/

責任編輯:佚名 來源: 51CTO.com
相關推薦

2011-09-05 16:08:13

2012-06-14 09:37:17

Ansca MobilCorona跨平臺工具

2023-02-22 10:15:23

開源指南針開源生態開源社區

2010-09-06 09:13:42

DB2表格

2025-04-16 10:00:00

跨平臺開發Uniapp開發

2025-02-17 07:20:00

Flutter 3Flutter開發

2012-08-09 08:49:30

CoronaCorona SDKCorona SDK游

2012-12-18 13:15:14

Game MinionCorona

2025-03-14 00:53:12

2010-07-23 16:08:38

OPhone平臺

2013-12-04 14:29:18

Android SDK應用程序

2013-12-26 15:47:59

Android SDK應用程序

2020-06-19 11:20:17

開發避坑支付寶

2018-03-02 16:30:30

2014-07-31 16:00:10

KiiXamarin

2011-02-22 15:06:48

openVPN

2013-12-04 15:11:03

Android SDK應用程序

2013-12-04 15:20:33

Android SDK應用程序

2015-06-25 13:06:48

大數據從選擇到應用

2013-12-04 13:51:38

Android SDK應用程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人一区二区三区精 | 99精品久久久久久中文字幕 | 成人在线免费视频观看 | 成人精品免费视频 | 午夜成人免费视频 | 久久久精品视频免费看 | 天堂一区在线 | 欧美一级一 | 特级做a爰片毛片免费看108 | 日韩欧美国产一区二区三区 | www.久久久久久久久久久久 | 国产成人精品久久二区二区91 | 亚洲免费一区二区 | 国产日韩精品一区 | 色接久久 | 久久久久亚洲精品 | 一本大道久久a久久精二百 国产成人免费在线 | 国产精品亚洲一区 | 免费视频99 | h片在线看| 在线观看中文字幕dvd播放 | 中文字幕av网 | 日韩精品一区二区三区在线观看 | 欧美精品久久 | 九九精品久久久 | 日本人麻豆 | 日本aⅴ中文字幕 | 暖暖日本在线视频 | 成人国产在线视频 | 亚洲永久 | 亚洲成人一区二区 | 中文字幕av第一页 | 久久久久久av | 国产男女视频网站 | 一区二区久久精品 | 涩涩视频在线播放 | 91色综合| 99成人精品 | av不卡一区 | 欧美色综合一区二区三区 | aaa大片免费观看 |