亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于lua和corona框架的趣味手機游戲的設計與實現

        2015-12-08 12:02:09許燕
        電腦知識與技術 2015年25期
        關鍵詞:手機游戲

        許燕

        摘要:該文設計的進階版俄羅斯方塊手機游戲,開發(fā)語言是lua,開發(fā)框架是corona。所開發(fā)的游戲基于俄羅斯方塊的玩法之上,融入了屬于自己的創(chuàng)新元素和玩法,讓原本黑白的俄羅斯方塊變得鮮活有趣了起來。

        關鍵詞:lua;corona;手機游戲

        中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)25-0047-03

        隨著現代生活節(jié)奏的加快,人們需要隨時隨地獲取與處理信息,由于移動通信技術的發(fā)展,現在的手機等嵌入式設備的計算處理能力得到極大的增強,因此手機成為了最佳的終端工具。目前很多大型游戲、手機游戲和應用項目都用lua作為腳本來完成,在南美家庭中幾乎每天都在使用的互動電視是由lua驅動的。一些大學在他們的研究中使用lua來進行快速處理并獲得結果。而且在游戲開發(fā)團隊中的不同角色的人員使用中都起到重要作用?;谑謾C的移動應用開發(fā)成為未來軟件開發(fā)的發(fā)展方向。

        1 手機游戲開發(fā)環(huán)境

        1.1 移動開發(fā)跨平臺工具Corona SDK簡介

        Corona SDK是Corona Labs旗下的一款專門用于跨平臺移動應用開發(fā)的Lua語言SDK庫,不僅容易入手,無門檻,而且效率也相當高。Corona SDK提供了跨平臺能力,所以開發(fā)者的應用或游戲可兼容iOS、Android、Kindle Fire和Nook平臺。Corona支持硬件加速、GPS、照相機等,并集成了Box2D物理引擎。

        1.2 腳本語言Lua介紹

        lua小巧高效,作為C的擴展,能與C自然的結合與交互,所以常被用于寫游戲邏輯。以快速小巧著稱的Lua擁有在目前所有腳本引擎中最快的運行速度,這樣的特性讓Lua成為用作嵌入式腳本的最佳選擇。在當前的游戲開發(fā)行業(yè)中,除了《魔獸世界》和網易經典“西游系列”都使用了腳本外,現在大多數比較流行的程序也都使用了腳本,如騰訊的(QQgame))和搜狐的《天龍八部》等。不僅如此,現今的游戲引擎也都提供了腳本接口,無論是商業(yè)的unreal引擎還是開源的0一GRE,無一例外。但是,Lua語言被人們所熟知還要追述到2010年喬布斯的蘋果將Lua語言引進iOS平臺,直到現在已經有很多iPhone的應用寫入到Lua中。而Lua語言憑借其代碼幾乎能在所有操作系統和移動終端上編譯運行的這一特性,不但可以在iOS這一移動平臺開發(fā),同樣也可以在Android等其它平臺上開發(fā)。有了Corona SDK以后Lua語言不但可以支持iOS,還可以支持Android平臺。

        2 趣味手機游戲的設計

        本文設計的進階版俄羅斯方塊手機游戲,開發(fā)語言是lua,開發(fā)框架是corona。所開發(fā)的游戲基于俄羅斯方塊的玩法之上,融入了屬于自己的創(chuàng)新元素和玩法,讓原本黑白的俄羅斯方塊變得鮮活有趣了起來。

        1)游戲界面設計

        該游戲畫面走著輕松、愉快的小清新路線,采用色彩明快的七彩方塊組合而成,讓人眼前一亮的同時,色彩艷麗的界面也容易令人心情不禁跟著愉悅起來,Q版的小方塊們,設計感強烈,看起來并不平面,非常具有質感。游戲開始界面如圖1所示,游戲運行效果如圖2所示。

        實現界面初始化的函數:

        function kian()

        bj=display.newRect(160,240,480,580)

        ks=display.newImage("im/b.png",160,240)

        ksan=display.newImage("im/an.png",160,240)

        ksan:addEventListener("tap",dong)

        end

        開始游戲函數:

        function kais()

        display.remove(bj)

        display.remove(ks)

        display.remove(ksan)

        chu()

        for i=1,10 do

        for k=1,10 do

        t[i][k]:addEventListener("touch",ss)

        end

        end

        Runtime:addEventListener("touch",ww)

        display.remove()

        end

        加載圖片,合成統一顏色不同形狀的方塊組合。有一個、兩個、多個方塊組成的形狀。

        實現代碼如下:

        function one()

        ge2=display.newImage("im/3.png",0,0)

        ge2.xScale=0.4

        ge2.yScale=0.4

        ge2.x=ddd

        ge2.y=400

        ge2:addEventListener("touch",xx2)

        end

        function two()

        ge3=display.newGroup()

        for i=1,2 do

        ge1=display.newImage("im/4.png",i*28-28-28,0)

        ge1.xScale=0.65

        ge1.yScale=0.65

        ge3:insert(ge1)

        end

        ge3.x=ddd

        ge3.y=400

        ge3.xScale=0.6

        ge3.yScale=0.6

        ge3:addEventListener("touch",xx3)

        end

        function three()

        ge4=display.newGroup()

        for i=1,2 do

        ge1=display.newImage("im/5.png",i*28-28-28,0)

        ge1.xScale=0.65

        ge1.yScale=0.65

        ge4:addEventListener("touch",xx4)

        end

        不同形狀的組合體,可防止的范圍不一樣,所以通過XX1~XX19函數來限制x,y軸的位置。如XX2函數代碼:

        function xx2(event)

        if event.phase=="began" then

        l=2

        if event.x<60+50 then

        ddd=60

        v=1

        elseif event.x>=60+40 and event.x<=160+50 then

        ddd=160

        v=2

        elseif event.x>160+50 then

        ddd=260

        v=3

        end

        end

        end

        function shuu()

        if ls==1 then

        sf=1

        for i=1,10 do

        for k=1,10 do

        if di[i][k]==1 then

        if shus[1]==1 then

        if k<7 then

        if di[i][k+1]==1 and di[i][k+2]==1 and di[i][k+3]==1 and di[i][k+4]==1 then

        sf=2

        end

        end

        elseif shus[1]==2 then

        sf=2

        end

        本程序主要使用的Corona SDK API里的顯示圖片函數、群組函數、偵聽函數、過渡函數等。相關函數的用法可以到https://docs.coronalabs.com/api/ 查找,如圖3所示。如過渡函數transition語法,如下圖4所示。

        3 總結

        游戲開發(fā)是一個創(chuàng)意性的工作,需要通過快速開發(fā)原型、測試和修改來驗證游戲性。因此,需要一個具有良好兼容性、簡單而高效的編程語言來幫助游戲設計師完成他們的工作。近年來,許多大型游戲都采用了Lua作為自己的嵌入式腳本語言,以此來實現可配置性和可擴展性。Lua改變了開發(fā)者為移動設備編寫應用的方式,目前蘋果App Store中已經有很多用lua開發(fā)的應用和游戲。

        通過本文提供的基于lua和corona框架的趣味手機游戲的設計與實現,可以看到通過緊跟技術發(fā)展腳步,運用移動應用開發(fā)框架搭建適合游戲開發(fā)的環(huán)境設計一個游戲的過程,。

        參考文獻:

        [1] 李廣松,陳蓉征.基于Lua的網絡游戲腳本系統設計[J].現代計算機,2009(12).

        [2] 楊 杰.Lua——以總統為名的移動開發(fā)語言新貴[J].軟件技術與研究,2014(4).

        [3] 張德富,鄭捷敏.人機丈棋游戲算法研[J].科技情報開發(fā)與經濟,2008(11).

        猜你喜歡
        手機游戲
        別讓手機游戲“游戲”了你
        都市人(2024年12期)2024-12-31 00:00:00
        關于“移動互聯網時代青少年手機游戲沉迷問題研究”的文獻綜述
        山西青年(2021年23期)2021-11-27 21:09:37
        引導小學生理性對待手機游戲的策略
        科學咨詢(2021年6期)2021-01-02 15:35:32
        基于手機游戲中UI界面的交互設計研究
        技術與市場(2020年2期)2020-03-03 14:47:21
        陜西省大學生手機游戲迷戀度實證分析
        讓手機游戲成為傳統文化的傳播新渠道
        傳媒評論(2018年3期)2018-06-21 08:16:28
        手機游戲對大學生的負面影響及對策分析
        在干什么
        淺談手機游戲業(yè)務發(fā)展策略
        手機游戲推薦
        精品人妻系列无码一区二区三区| 亚洲国产精品成人av在线不卡| 蜜桃视频在线免费观看完整版| 国产一区二区在线免费视频观看| 麻豆亚洲av熟女国产一区二| 国产在线精品欧美日韩电影| 欧美激情中文字幕在线一区二区| 青青草视频在线观看9| 国语对白精品在线观看| 无码爆乳护士让我爽| 精品国产乱码久久久软件下载| 九九在线精品视频xxx| 亚洲日产乱码在线中文字幕| 色一情一乱一伦麻豆| 亚洲综合久久精品无码色欲| 播放灌醉水嫩大学生国内精品| 国产激情一区二区三区成人免费| 亚洲中文字幕视频第一二区| av无码电影一区二区三区| 久久精品中文字幕一区| 日本一本草久国产欧美日韩| 中文字幕一区二区综合| 国产精品永久免费| 老男人久久青草AV高清| 在线观看人成网站深夜免费| 真实夫妻露脸自拍视频在线播放| 啪啪无码人妻丰满熟妇| 久久精品国波多野结衣| 青青自拍视频成人免费观看| 五月开心六月开心婷婷网| 九九久久自然熟的香蕉图片| 少妇太爽了在线观看免费视频| 加勒比东京热久久综合| 日本不卡在线视频二区三区| 亚洲色欲色欲综合网站| 国产成人久久蜜一区二区| 成人大片在线观看视频| 成年丰满熟妇午夜免费视频 | 抽搐一进一出试看60秒体验区| 久久久AV无码精品免费| 日本一道本加勒比东京热|