Cocos2d lua學習筆記之場景跳轉

2021-07-03 09:14:44 字數 2498 閱讀 3591

首先在mian.lua中,讓第乙個場景從menuscene.lua開始

local

function

main()

local scene=require("menuscene.lua")

local gamescene=scene:create()

if cc.director:getinstance():getrunningscene() then

cc.director:getinstance():replacescene(gamescene)

else

cc.director:getinstance():runwithscene(gamescene)

endend

然後我們在menuscene.lua中建立該場景

①建立選單介面

--建立選單介面

local menuscene=class("menuscene",function()

return cc.scene:create()

end)

return menuscene

②新增乙個create函式

--新增乙個create函式

function

menuscene:create()

local scene=menuscene.new()

scene:addchild(scene:init())

return scene

end

③新增構造

--新增構造

function menuscene

:ctor()

self.winsize=cc.director

:getinstance():getwinsize()

end

④新增初始化函式

function

menuscene:init()

local layer=cc.layer:create()

local label=cc.labelttf:create("planegame","宋體",45)

label:setstring("planegame")

label:setscale(3)

label:setposition(self.winsize.width/2,self.winsize.height-100)

layer:addchild(label)

--新增選單

local label1=cc.labelttf:create("startgame","宋體",40)

local itemstart=cc.menuitemlabel:create(label1)

label1:setscale(2)

--itemstart:setposition(self.winsize.width/2,self.winsize.height-110)

local label2=cc.labelttf:create("help","宋體",40)

local itemhelp=cc.menuitemlabel:create(label2)

label2:setscale(2)

itemhelp:setpositiony(itemhelp:getpositiony()-100)

local menu=cc.menu:create()

menu:addchild(itemstart)

menu:addchild(itemhelp)

layer:addchild(menu)

--觸控監聽

local

function

menucallback(obj)

print("按鈕被按下"..obj)

if tonumber(obj)==10

then

local scene=require("gamescene")

local gs=scene:create()

cc.director:getinstance():replacescene(gs)

else

if tonumber(obj)==11

then

local scene=require("helpscene")

local hs=scene:create()

cc.director:getinstance():replacescene(hs)

endend

enditemstart:settag(10)

itemhelp:settag(11)

itemstart:registerscripttaphandler(menucallback)

itemhelp:registerscripttaphandler(menucallback)

return layer

end

以上就是建立場景和場景跳轉的寫法了。

Cocos2d Lua之隨機數

不管是什麼語言,所生成的隨機數都是偽隨機數,是根據一定的計算法則求出來的。lua語言是利用兩個函式來生成隨機數 math.randomseed 值 提供種子值 math.random val1,val2 隨機生成乙個在val1和val2之間的隨機數,若全部預設,則預設生成0 1之間的隨機數,若只有乙...

Cocos2d lua 初識shader之四 描邊

原理 對於所有透明的畫素點,遍歷該畫素點周圍的所有畫素點,當有任意乙個畫素點非透明時,就將該畫素點置為描邊顏色。ps.在網上讀到一位前輩寫的方法是 遍歷所有不透明的畫素點四周,當有透明畫素點時,將該畫素點設定為描邊顏色 思路相反 這樣的做法會有些缺憾,結尾會放出比較圖。local vert attr...

Cocos2d lua 滑動選關效果

昨天看到前面的大佬在做這種效果,特意去請教了一下,剛開始以為是用pageview或者listview做的,原來是用最普通的觸控來實現的。感覺自己應該多思考多學習,不會的地方還是太多了,有些東西其實沒有自己想的那麼複雜,能用一些基本元素實現來實現的東西,自己有時候卻總是覺得是不是 不會 不懂,也可能是...