使用cocos2dx的lua指令碼寫遊戲邏輯

2021-06-22 22:44:32 字數 2072 閱讀 7755

原文:

luascript

├──conf

.lua

├──global

.lua

├──include

.lua

├──logic

│├──

hxgameboardlogic

.lua

│├──

hxgameicon

.lua

│├──

hxgamescene

.lua

│├──

hxmainmenuscene

.lua

│└──

logic

.lua

├──main

.lua

└──util

├──audioengine

.lua

├──hxutil

.lua

└──util

.lua

遊戲資源和邏輯指令碼來自crosslife, 真應該感謝他開源了這套指令碼邏輯. 國慶這幾天都在修改這套**, 收穫還挺多的.

因為遊戲比較小,所以把所有的邏輯都放到了logic資料夾下面,其中hxgameboardlogic.lua檔案用來實現與遊戲資料結構相關的邏輯,比如座標點和圖示位置轉換,檢測某個圖示是否可以被消除等等跟圖形介面沒關的都放這裡了.

hxgameicon.lua用來讀取圖示.

hxmainmenuscene.lua用來實現開始選單介面.

hxgamescene.lua就是遊戲的主場景了.包含建立場景,各種遊戲操作邏輯能看得到的都在這裡實現了.

檢測棋盤有無可移動消除棋子:用的是全部遍歷測試方法,逐個節點左右上下互換位置後判斷能否被消除來檢測.這演算法效率很定是不行的,太耗時間了,打算優化的,還沒有想到更好的方法.

(思想來自乙個csdn的人寫的,忘記在哪了)

為了玩家看到的動畫效果是完整的,我遮蔽了掉落動畫時的螢幕touch事件.如果不這樣做的畫會出現棋子掉落位置出錯的情況.還有一種解決辦法是立即結束動畫(但是需要立即完成moveto事件.要不然棋子就不在目標位置了.),但對cocos2dx不熟,導致沒有成功實現這種方法.

遊戲後續補充

現在這個遊戲只是能玩,有個分數在那裡顯示著,但還不像個遊戲.後面我給他新增闖關模式,無盡模式什麼的...在玩法上新增點東西,比如最高記錄儲存.

順便新增一點apk打包知識

無需安裝eclipse,只需要ant就足矣.

keytool 

-genkey

-alias hanxigame

.keystore

-keyalg rsa

-keystore hanxigame

.keystore

key

.store

=./hanxigame

.keystore

key.

alias

=hanxigame

.keystore

key.

store

.password

=hanxigame

key.

alias

.password

=hanxigame

#set android environment

export android_sdk_root

=/home

/hanxi

/lib

/android

-sdk

export ndk_root

=/home

/hanxi

/lib

/android

-ndk

export cocos2dx_root

=/home

/hanxi

/lib

/cocos2d-x

export path

=$path

:$android_sdk_root

:$android_sdk_root

/tools

export path

=$path

:$ndk_root

Cocos2d x 指令碼語言Lua使用

cocos2d x 指令碼語言lua使用 前面幾篇部落格已經把lua的相關基礎知識介紹了。本篇部落格就來介紹一下,怎樣在cocos2d x專案中使用lua這門指令碼語言進行開發。因為筆者使用的時mac系統。所以演示給大家的時在xcode其中執行我們的cocos2d x專案。介紹一下筆者的開發環境 p...

Cocos2d x 指令碼語言Lua的使用

前面幾篇部落格已經把lua的相關基礎知識介紹了,本篇部落格就來介紹一下,如何在cocos2d x專案中使用lua這門指令碼語言進行開發。由於筆者使用的時mac系統,所以演示給大家的時在xcode當中執行我們的cocos2d x專案。介紹一下筆者的開發環境 python 3.4.0 xcode 5.1...

cocos2dx戰爭迷霧實現 lua

tilemap的美術資源 戰爭迷霧 戰爭迷霧的原理在網上已經有相關資料,就不補充了。戰爭迷霧用 t1中索引與tilemap的gid對應,右邊值 表 與tilemap的資源對應。p.t1 2 3 5 6 8 13 15 7 12 4 14 9 11 10 1 t2索引與t1的右邊的表的數字的和對應,值...