mirror of https://github.com/axmolengine/axmol.git
Merge pull request #7444 from samuele3hu/v3_hot_fix
Add bit extend module and fix some bugs found in test
This commit is contained in:
commit
642321d5a7
|
@ -58,6 +58,8 @@
|
||||||
1503FAC418DA8B6C00F6518C /* tp.lua in Resources */ = {isa = PBXBuildFile; fileRef = 1503FAB118DA8B6C00F6518C /* tp.lua */; };
|
1503FAC418DA8B6C00F6518C /* tp.lua in Resources */ = {isa = PBXBuildFile; fileRef = 1503FAB118DA8B6C00F6518C /* tp.lua */; };
|
||||||
1503FAC518DA8B6C00F6518C /* url.lua in Resources */ = {isa = PBXBuildFile; fileRef = 1503FAB218DA8B6C00F6518C /* url.lua */; };
|
1503FAC518DA8B6C00F6518C /* url.lua in Resources */ = {isa = PBXBuildFile; fileRef = 1503FAB218DA8B6C00F6518C /* url.lua */; };
|
||||||
1503FAC618DA8B6C00F6518C /* url.lua in Resources */ = {isa = PBXBuildFile; fileRef = 1503FAB218DA8B6C00F6518C /* url.lua */; };
|
1503FAC618DA8B6C00F6518C /* url.lua in Resources */ = {isa = PBXBuildFile; fileRef = 1503FAB218DA8B6C00F6518C /* url.lua */; };
|
||||||
|
156229331973D400009C9067 /* bitExtend.lua in Resources */ = {isa = PBXBuildFile; fileRef = 156229321973D400009C9067 /* bitExtend.lua */; };
|
||||||
|
156229341973D400009C9067 /* bitExtend.lua in Resources */ = {isa = PBXBuildFile; fileRef = 156229321973D400009C9067 /* bitExtend.lua */; };
|
||||||
15AECE0B195C0F8A00907DB0 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EA0FB65191B933000B170C8 /* MediaPlayer.framework */; };
|
15AECE0B195C0F8A00907DB0 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EA0FB65191B933000B170C8 /* MediaPlayer.framework */; };
|
||||||
15AECE0F195C1FDD00907DB0 /* cocosvideo.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 3EA0FB5D191B92F100B170C8 /* cocosvideo.mp4 */; };
|
15AECE0F195C1FDD00907DB0 /* cocosvideo.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 3EA0FB5D191B92F100B170C8 /* cocosvideo.mp4 */; };
|
||||||
15AECE1F195D0EC500907DB0 /* experimentalConstants.lua in Resources */ = {isa = PBXBuildFile; fileRef = 15AECE1E195D0EC500907DB0 /* experimentalConstants.lua */; };
|
15AECE1F195D0EC500907DB0 /* experimentalConstants.lua in Resources */ = {isa = PBXBuildFile; fileRef = 15AECE1E195D0EC500907DB0 /* experimentalConstants.lua */; };
|
||||||
|
@ -1393,6 +1395,7 @@
|
||||||
1503FAB018DA8B6C00F6518C /* socket.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = socket.lua; path = ../external/lua/luasocket/socket.lua; sourceTree = "<group>"; };
|
1503FAB018DA8B6C00F6518C /* socket.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = socket.lua; path = ../external/lua/luasocket/socket.lua; sourceTree = "<group>"; };
|
||||||
1503FAB118DA8B6C00F6518C /* tp.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = tp.lua; path = ../external/lua/luasocket/tp.lua; sourceTree = "<group>"; };
|
1503FAB118DA8B6C00F6518C /* tp.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = tp.lua; path = ../external/lua/luasocket/tp.lua; sourceTree = "<group>"; };
|
||||||
1503FAB218DA8B6C00F6518C /* url.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = url.lua; path = ../external/lua/luasocket/url.lua; sourceTree = "<group>"; };
|
1503FAB218DA8B6C00F6518C /* url.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = url.lua; path = ../external/lua/luasocket/url.lua; sourceTree = "<group>"; };
|
||||||
|
156229321973D400009C9067 /* bitExtend.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = bitExtend.lua; path = "../cocos/scripting/lua-bindings/script/bitExtend.lua"; sourceTree = "<group>"; };
|
||||||
15AECE1E195D0EC500907DB0 /* experimentalConstants.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = experimentalConstants.lua; path = "../cocos/scripting/lua-bindings/script/experimentalConstants.lua"; sourceTree = "<group>"; };
|
15AECE1E195D0EC500907DB0 /* experimentalConstants.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = experimentalConstants.lua; path = "../cocos/scripting/lua-bindings/script/experimentalConstants.lua"; sourceTree = "<group>"; };
|
||||||
15C64822165F391E007D4F18 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
|
15C64822165F391E007D4F18 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
|
||||||
15C64824165F3934007D4F18 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/OpenGL.framework; sourceTree = DEVELOPER_DIR; };
|
15C64824165F3934007D4F18 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/OpenGL.framework; sourceTree = DEVELOPER_DIR; };
|
||||||
|
@ -5531,6 +5534,7 @@
|
||||||
1ABCA36418CD9E060087CE3A /* Lua Common */ = {
|
1ABCA36418CD9E060087CE3A /* Lua Common */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
156229321973D400009C9067 /* bitExtend.lua */,
|
||||||
15AECE1E195D0EC500907DB0 /* experimentalConstants.lua */,
|
15AECE1E195D0EC500907DB0 /* experimentalConstants.lua */,
|
||||||
1503FAA918DA8B6C00F6518C /* ftp.lua */,
|
1503FAA918DA8B6C00F6518C /* ftp.lua */,
|
||||||
1503FAAA18DA8B6C00F6518C /* headers.lua */,
|
1503FAAA18DA8B6C00F6518C /* headers.lua */,
|
||||||
|
@ -7897,6 +7901,7 @@
|
||||||
15C90B4918E66C2A00D69802 /* tp.lua in Resources */,
|
15C90B4918E66C2A00D69802 /* tp.lua in Resources */,
|
||||||
1AC35DE918CEE65900F37B72 /* effect1.wav in Resources */,
|
1AC35DE918CEE65900F37B72 /* effect1.wav in Resources */,
|
||||||
1ABCA38E18CD9E180087CE3A /* GuiConstants.lua in Resources */,
|
1ABCA38E18CD9E180087CE3A /* GuiConstants.lua in Resources */,
|
||||||
|
156229331973D400009C9067 /* bitExtend.lua in Resources */,
|
||||||
15C90B3F18E66C0C00D69802 /* ltn12.lua in Resources */,
|
15C90B3F18E66C0C00D69802 /* ltn12.lua in Resources */,
|
||||||
15C90B4718E66C2400D69802 /* socket.lua in Resources */,
|
15C90B4718E66C2400D69802 /* socket.lua in Resources */,
|
||||||
15C90B3A18E66BE200D69802 /* ftp.lua in Resources */,
|
15C90B3A18E66BE200D69802 /* ftp.lua in Resources */,
|
||||||
|
@ -7939,6 +7944,7 @@
|
||||||
15B0870D195AD52000D6F62B /* ActionTimeline in Resources */,
|
15B0870D195AD52000D6F62B /* ActionTimeline in Resources */,
|
||||||
15E66FC8192D957100C20A52 /* Sprite3DTest in Resources */,
|
15E66FC8192D957100C20A52 /* Sprite3DTest in Resources */,
|
||||||
15C90B4418E66C1800D69802 /* mime.lua in Resources */,
|
15C90B4418E66C1800D69802 /* mime.lua in Resources */,
|
||||||
|
156229341973D400009C9067 /* bitExtend.lua in Resources */,
|
||||||
15C90B4C18E66C3100D69802 /* url.lua in Resources */,
|
15C90B4C18E66C3100D69802 /* url.lua in Resources */,
|
||||||
1AC35DD618CEE65200F37B72 /* Misc in Resources */,
|
1AC35DD618CEE65200F37B72 /* Misc in Resources */,
|
||||||
1ABCA37B18CD9E180087CE3A /* CCBReaderLoad.lua in Resources */,
|
1ABCA37B18CD9E180087CE3A /* CCBReaderLoad.lua in Resources */,
|
||||||
|
|
|
@ -6090,7 +6090,8 @@ int lua_cocos2dx_TMXLayer_getTileGIDAt(lua_State* tolua_S)
|
||||||
return 0;
|
return 0;
|
||||||
unsigned int ret = cobj->getTileGIDAt(arg0);
|
unsigned int ret = cobj->getTileGIDAt(arg0);
|
||||||
tolua_pushnumber(tolua_S,(lua_Number)ret);
|
tolua_pushnumber(tolua_S,(lua_Number)ret);
|
||||||
return 1;
|
tolua_pushnumber(tolua_S,(lua_Number)0);
|
||||||
|
return 2;
|
||||||
}
|
}
|
||||||
if (argc == 2)
|
if (argc == 2)
|
||||||
{
|
{
|
||||||
|
@ -6105,7 +6106,8 @@ int lua_cocos2dx_TMXLayer_getTileGIDAt(lua_State* tolua_S)
|
||||||
|
|
||||||
unsigned int ret = cobj->getTileGIDAt(arg0, (cocos2d::TMXTileFlags*)&arg1);
|
unsigned int ret = cobj->getTileGIDAt(arg0, (cocos2d::TMXTileFlags*)&arg1);
|
||||||
tolua_pushnumber(tolua_S,(lua_Number)ret);
|
tolua_pushnumber(tolua_S,(lua_Number)ret);
|
||||||
return 1;
|
tolua_pushnumber(tolua_S,(lua_Number)arg1);
|
||||||
|
return 2;
|
||||||
}
|
}
|
||||||
CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "getTileGIDAt",argc, 1);
|
CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "getTileGIDAt",argc, 1);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -6471,7 +6473,8 @@ static int lua_cocos2dx_FastTMXLayer_getTileGIDAt(lua_State* tolua_S)
|
||||||
return 0;
|
return 0;
|
||||||
int ret = cobj->getTileGIDAt(arg0);
|
int ret = cobj->getTileGIDAt(arg0);
|
||||||
tolua_pushnumber(tolua_S,(lua_Number)ret);
|
tolua_pushnumber(tolua_S,(lua_Number)ret);
|
||||||
return 1;
|
tolua_pushnumber(tolua_S,(lua_Number)0);
|
||||||
|
return 2;
|
||||||
}
|
}
|
||||||
if (argc == 2)
|
if (argc == 2)
|
||||||
{
|
{
|
||||||
|
@ -6486,7 +6489,8 @@ static int lua_cocos2dx_FastTMXLayer_getTileGIDAt(lua_State* tolua_S)
|
||||||
|
|
||||||
unsigned int ret = cobj->getTileGIDAt(arg0, (cocos2d::TMXTileFlags*)&arg1);
|
unsigned int ret = cobj->getTileGIDAt(arg0, (cocos2d::TMXTileFlags*)&arg1);
|
||||||
tolua_pushnumber(tolua_S,(lua_Number)ret);
|
tolua_pushnumber(tolua_S,(lua_Number)ret);
|
||||||
return 1;
|
tolua_pushnumber(tolua_S,(lua_Number)arg1);
|
||||||
|
return 2;
|
||||||
}
|
}
|
||||||
CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "getTileGIDAt",argc, 1);
|
CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "getTileGIDAt",argc, 1);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
-- bit operation
|
||||||
|
|
||||||
|
bit = bit or {}
|
||||||
|
bit.data32 = {}
|
||||||
|
for i=1,32 do
|
||||||
|
bit.data32[i]=2^(32-i)
|
||||||
|
end
|
||||||
|
|
||||||
|
function bit._b2d(arg)
|
||||||
|
local nr=0
|
||||||
|
for i=1,32 do
|
||||||
|
if arg[i] ==1 then
|
||||||
|
nr=nr+bit.data32[i]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return nr
|
||||||
|
end
|
||||||
|
|
||||||
|
function bit._d2b(arg)
|
||||||
|
arg = arg >= 0 and arg or (0xFFFFFFFF + arg + 1)
|
||||||
|
local tr={}
|
||||||
|
for i=1,32 do
|
||||||
|
if arg >= bit.data32[i] then
|
||||||
|
tr[i]=1
|
||||||
|
arg=arg-bit.data32[i]
|
||||||
|
else
|
||||||
|
tr[i]=0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return tr
|
||||||
|
end
|
||||||
|
|
||||||
|
function bit._and(a,b)
|
||||||
|
local op1=bit._d2b(a)
|
||||||
|
local op2=bit._d2b(b)
|
||||||
|
local r={}
|
||||||
|
|
||||||
|
for i=1,32 do
|
||||||
|
if op1[i]==1 and op2[i]==1 then
|
||||||
|
r[i]=1
|
||||||
|
else
|
||||||
|
r[i]=0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return bit._b2d(r)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function bit._rshift(a,n)
|
||||||
|
local op1=bit._d2b(a)
|
||||||
|
n = n <= 32 and n or 32
|
||||||
|
n = n >= 0 and n or 0
|
||||||
|
|
||||||
|
for i=32, n+1, -1 do
|
||||||
|
op1[i] = op1[i-n]
|
||||||
|
end
|
||||||
|
for i=1, n do
|
||||||
|
op1[i] = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
return bit._b2d(op1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function bit._not(a)
|
||||||
|
local op1=bit._d2b(a)
|
||||||
|
local r={}
|
||||||
|
|
||||||
|
for i=1,32 do
|
||||||
|
if op1[i]==1 then
|
||||||
|
r[i]=0
|
||||||
|
else
|
||||||
|
r[i]=1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return bit._b2d(r)
|
||||||
|
end
|
||||||
|
|
||||||
|
function bit._or(a,b)
|
||||||
|
local op1=bit._d2b(a)
|
||||||
|
local op2=bit._d2b(b)
|
||||||
|
local r={}
|
||||||
|
|
||||||
|
for i=1,32 do
|
||||||
|
if op1[i]==1 or op2[i]==1 then
|
||||||
|
r[i]=1
|
||||||
|
else
|
||||||
|
r[i]=0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return bit._b2d(r)
|
||||||
|
end
|
||||||
|
|
||||||
|
bit.band = bit.band or bit._and
|
||||||
|
bit.rshift = bit.rshift or bit._rshift
|
||||||
|
bit.bnot = bit.bnot or bit._not
|
|
@ -25,6 +25,15 @@ SceneEditorTestLayer.title =
|
||||||
"Trigger Test",
|
"Trigger Test",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SceneEditorTestLayer.loadtypeStr=
|
||||||
|
{
|
||||||
|
"change to load \nwith binary file",
|
||||||
|
"change to load \nwith json file"
|
||||||
|
}
|
||||||
|
|
||||||
|
SceneEditorTestLayer.fileName = ""
|
||||||
|
SceneEditorTestLayer.rootNode = nil
|
||||||
|
|
||||||
function SceneEditorTestLayer.extend(target)
|
function SceneEditorTestLayer.extend(target)
|
||||||
local t = tolua.getpeer(target)
|
local t = tolua.getpeer(target)
|
||||||
if not t then
|
if not t then
|
||||||
|
@ -70,9 +79,44 @@ function SceneEditorTestLayer:createTitle()
|
||||||
title:setPosition( cc.p(VisibleRect:center().x, VisibleRect:top().y - 30))
|
title:setPosition( cc.p(VisibleRect:center().x, VisibleRect:top().y - 30))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function SceneEditorTestLayer:loadFileChangeHelper(filePathName)
|
||||||
|
local indexTable = {}
|
||||||
|
local index = 0
|
||||||
|
|
||||||
|
while true do
|
||||||
|
index = string.find(filePathName, "%.", index + 1)
|
||||||
|
if nil == index then
|
||||||
|
break
|
||||||
|
end
|
||||||
|
|
||||||
|
indexTable[#indexTable + 1] = index
|
||||||
|
end
|
||||||
|
|
||||||
|
if #indexTable == 0 then
|
||||||
|
return filePathName
|
||||||
|
end
|
||||||
|
|
||||||
|
local lastIndex = indexTable[#indexTable]
|
||||||
|
if lastIndex == 1 then
|
||||||
|
return filePathName
|
||||||
|
end
|
||||||
|
local renamePathName= string.sub(filePathName, 1, lastIndex - 1)
|
||||||
|
|
||||||
|
if self.isCsbLoad then
|
||||||
|
renamePathName = renamePathName .. ".csb"
|
||||||
|
else
|
||||||
|
renamePathName = renamePathName .. ".json"
|
||||||
|
end
|
||||||
|
print("renamePath is", renamePathName)
|
||||||
|
return renamePathName
|
||||||
|
end
|
||||||
|
|
||||||
|
function SceneEditorTestLayer:defaultPlay()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
function SceneEditorTestLayer:createMenu()
|
function SceneEditorTestLayer:createMenu()
|
||||||
local menu = cc.Menu:create()
|
local menu = cc.Menu:create()
|
||||||
|
|
||||||
local function pre()
|
local function pre()
|
||||||
local scene = cc.Scene:create()
|
local scene = cc.Scene:create()
|
||||||
scene:addChild(backSceneEditorTest())
|
scene:addChild(backSceneEditorTest())
|
||||||
|
@ -118,6 +162,41 @@ function SceneEditorTestLayer:createMenu()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
self.isCsbLoad = false
|
||||||
|
self.loadtypeLabel = cc.Label:createWithSystemFont(self.loadtypeStr[1], "Arial", 12)
|
||||||
|
local function changeLoadTypeCallback(tag,sender)
|
||||||
|
self.isCsbLoad = not self.isCsbLoad
|
||||||
|
if self.isCsbLoad then
|
||||||
|
self.loadtypeLabel:setString(self.loadtypeStr[2])
|
||||||
|
else
|
||||||
|
self.loadtypeLabel:setString(self.loadtypeStr[1])
|
||||||
|
end
|
||||||
|
|
||||||
|
if sceneEditorTestIdx == #SceneEditorTestLayer.title then
|
||||||
|
self:unscheduleUpdate()
|
||||||
|
end
|
||||||
|
|
||||||
|
SceneEditorTestLayer.fileName = self:loadFileChangeHelper(SceneEditorTestLayer.fileName)
|
||||||
|
|
||||||
|
if SceneEditorTestLayer.rootNode ~= nil then
|
||||||
|
self:removeChild(SceneEditorTestLayer.rootNode, true)
|
||||||
|
SceneEditorTestLayer.rootNode = ccs.SceneReader:getInstance():createNodeWithSceneFile(SceneEditorTestLayer.fileName)
|
||||||
|
if SceneEditorTestLayer.rootNode == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
self:defaultPlay()
|
||||||
|
self:addChild(SceneEditorTestLayer.rootNode, 0, 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local loadTypeItem = cc.MenuItemLabel:create(self.loadtypeLabel)
|
||||||
|
loadTypeItem:registerScriptTapHandler(changeLoadTypeCallback)
|
||||||
|
local loadtypeMenu = cc.Menu:create()
|
||||||
|
loadtypeMenu:addChild(loadTypeItem)
|
||||||
|
loadtypeMenu:setPosition(cc.p(0,0))
|
||||||
|
loadTypeItem:setPosition(cc.p(VisibleRect:rightTop().x -80,VisibleRect:rightTop().y -30))
|
||||||
|
self:addChild(loadtypeMenu, 100)
|
||||||
|
|
||||||
local backMenu = cc.Menu:create()
|
local backMenu = cc.Menu:create()
|
||||||
cc.MenuItemFont:setFontName("Arial")
|
cc.MenuItemFont:setFontName("Arial")
|
||||||
cc.MenuItemFont:setFontSize(24)
|
cc.MenuItemFont:setFontSize(24)
|
||||||
|
@ -145,9 +224,16 @@ end
|
||||||
|
|
||||||
function LoadSceneEdtiorFileTest:createGameScene()
|
function LoadSceneEdtiorFileTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/LoadSceneEdtiorFileTest/FishJoy2.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/LoadSceneEdtiorFileTest/FishJoy2.json")
|
||||||
|
SceneEditorTestLayer.fileName = "scenetest/LoadSceneEdtiorFileTest/FishJoy2.json"
|
||||||
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
self:defaultPlay()
|
||||||
return node
|
return node
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function LoadSceneEdtiorFileTest:defaultPlay()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
function LoadSceneEdtiorFileTest:onEnter()
|
function LoadSceneEdtiorFileTest:onEnter()
|
||||||
self:createMenu()
|
self:createMenu()
|
||||||
self:createTitle()
|
self:createTitle()
|
||||||
|
@ -191,13 +277,9 @@ end
|
||||||
function SpriteComponentTest:createGameScene()
|
function SpriteComponentTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/SpriteComponentTest/SpriteComponentTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/SpriteComponentTest/SpriteComponentTest.json")
|
||||||
if nil ~= node then
|
if nil ~= node then
|
||||||
local action1 = cc.Blink:create(2, 10)
|
SceneEditorTestLayer.fileName = "scenetest/SpriteComponentTest/SpriteComponentTest.json"
|
||||||
local action2 = cc.Blink:create(2, 5)
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
self:defaultPlay()
|
||||||
local sister1 = node:getChildByTag(10003):getComponent("CCSprite")
|
|
||||||
sister1:getNode():runAction(action1)
|
|
||||||
local sister2 = node:getChildByTag(10004):getComponent("CCSprite")
|
|
||||||
sister2:getNode():runAction(action2)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return node
|
return node
|
||||||
|
@ -209,8 +291,19 @@ function SpriteComponentTest:onEnter()
|
||||||
local root = self:createGameScene()
|
local root = self:createGameScene()
|
||||||
if nil ~= root then
|
if nil ~= root then
|
||||||
self:addChild(root, 0, 1)
|
self:addChild(root, 0, 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function SpriteComponentTest:defaultPlay()
|
||||||
|
if SceneEditorTestLayer.rootNode ~= nil then
|
||||||
|
local action1 = cc.Blink:create(2, 10)
|
||||||
|
local action2 = cc.Blink:create(2, 5)
|
||||||
|
|
||||||
|
local sister1 = SceneEditorTestLayer.rootNode:getChildByTag(10003):getComponent("CCSprite")
|
||||||
|
sister1:getNode():runAction(action1)
|
||||||
|
local sister2 = SceneEditorTestLayer.rootNode:getChildByTag(10004):getComponent("CCSprite")
|
||||||
|
sister2:getNode():runAction(action2)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function SpriteComponentTest.create()
|
function SpriteComponentTest.create()
|
||||||
|
@ -246,14 +339,23 @@ end
|
||||||
function ArmatureComponentTest:createGameScene()
|
function ArmatureComponentTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/ArmatureComponentTest/ArmatureComponentTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/ArmatureComponentTest/ArmatureComponentTest.json")
|
||||||
if nil ~= node then
|
if nil ~= node then
|
||||||
|
SceneEditorTestLayer.fileName = "scenetest/ArmatureComponentTest/ArmatureComponentTest.json"
|
||||||
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
|
||||||
|
self:defaultPlay()
|
||||||
|
end
|
||||||
|
|
||||||
|
return node
|
||||||
|
end
|
||||||
|
|
||||||
|
function ArmatureComponentTest:defaultPlay()
|
||||||
|
if SceneEditorTestLayer.rootName ~= nil then
|
||||||
local blowFish = node:getChildByTag(10007):getComponent("CCArmature")
|
local blowFish = node:getChildByTag(10007):getComponent("CCArmature")
|
||||||
blowFish:getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
blowFish:getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
||||||
|
|
||||||
local butterflyfish = node:getChildByTag(10008):getComponent("CCArmature")
|
local butterflyfish = node:getChildByTag(10008):getComponent("CCArmature")
|
||||||
butterflyfish:getNode():runAction(CCMoveBy:create(10.0, cc.p(-1000.0, 0)))
|
butterflyfish:getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
||||||
end
|
end
|
||||||
|
|
||||||
return node
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function ArmatureComponentTest:onEnter()
|
function ArmatureComponentTest:onEnter()
|
||||||
|
@ -299,23 +401,31 @@ end
|
||||||
function UIComponentTest:createGameScene()
|
function UIComponentTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/UIComponentTest/UIComponentTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/UIComponentTest/UIComponentTest.json")
|
||||||
if nil ~= node then
|
if nil ~= node then
|
||||||
local render = node:getChildByTag(10025):getComponent("GUIComponent")
|
SceneEditorTestLayer.fileName = "scenetest/UIComponentTest/UIComponentTest.json"
|
||||||
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
self:defaultPlay()
|
||||||
|
end
|
||||||
|
|
||||||
|
return node
|
||||||
|
end
|
||||||
|
|
||||||
|
function UIComponentTest:defaultPlay()
|
||||||
|
if SceneEditorTestLayer.rootNode ~= nil then
|
||||||
|
local render = SceneEditorTestLayer.rootNode:getChildByTag(10025):getComponent("GUIComponent")
|
||||||
local widget = render:getNode()
|
local widget = render:getNode()
|
||||||
local button = widget:getChildByName("Button_156")
|
local button = widget:getChildByName("Button_156")
|
||||||
local function onTouch(sender, eventType)
|
local function onTouch(sender, eventType)
|
||||||
if eventType == ccui.TouchEventType.began then
|
if eventType == ccui.TouchEventType.began then
|
||||||
local blowFish = node:getChildByTag(10010):getComponent("CCArmature")
|
local blowFish = SceneEditorTestLayer.rootNode:getChildByTag(10010):getComponent("CCArmature")
|
||||||
blowFish:getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
blowFish:getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
||||||
|
|
||||||
local butterflyfish = node:getChildByTag(10011):getComponent("CCArmature")
|
local butterflyfish = SceneEditorTestLayer.rootNode:getChildByTag(10011):getComponent("CCArmature")
|
||||||
butterflyfish:getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
butterflyfish:getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
button:addTouchEventListener(onTouch)
|
button:addTouchEventListener(onTouch)
|
||||||
end
|
end
|
||||||
|
|
||||||
return node
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function UIComponentTest:onEnter()
|
function UIComponentTest:onEnter()
|
||||||
|
@ -361,7 +471,18 @@ end
|
||||||
function TmxMapComponentTest:createGameScene()
|
function TmxMapComponentTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/TmxMapComponentTest/TmxMapComponentTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/TmxMapComponentTest/TmxMapComponentTest.json")
|
||||||
if nil ~= node then
|
if nil ~= node then
|
||||||
local tmxMap = node:getChildByTag(10015):getComponent("CCTMXTiledMap")
|
SceneEditorTestLayer.fileName = "scenetest/TmxMapComponentTest/TmxMapComponentTest.json"
|
||||||
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
|
||||||
|
self:defaultPlay()
|
||||||
|
end
|
||||||
|
|
||||||
|
return node
|
||||||
|
end
|
||||||
|
|
||||||
|
function TmxMapComponentTest:defaultPlay()
|
||||||
|
if SceneEditorTestLayer.rootNode ~= nil then
|
||||||
|
local tmxMap = SceneEditorTestLayer.rootNode:getChildByTag(10015):getComponent("CCTMXTiledMap")
|
||||||
local actionTo = cc.SkewTo:create(2, 0.0, 2.0)
|
local actionTo = cc.SkewTo:create(2, 0.0, 2.0)
|
||||||
local rotateTo = cc.RotateTo:create(2, 61.0)
|
local rotateTo = cc.RotateTo:create(2, 61.0)
|
||||||
local actionScaleTo = cc.ScaleTo:create(2, -0.44, 0.47)
|
local actionScaleTo = cc.ScaleTo:create(2, -0.44, 0.47)
|
||||||
|
@ -374,8 +495,6 @@ function TmxMapComponentTest:createGameScene()
|
||||||
tmxMap:getNode():runAction(cc.Sequence:create(rotateTo, rotateToBack))
|
tmxMap:getNode():runAction(cc.Sequence:create(rotateTo, rotateToBack))
|
||||||
tmxMap:getNode():runAction(cc.Sequence:create(actionScaleTo, actionScaleToBack))
|
tmxMap:getNode():runAction(cc.Sequence:create(actionScaleTo, actionScaleToBack))
|
||||||
end
|
end
|
||||||
|
|
||||||
return node
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function TmxMapComponentTest:onEnter()
|
function TmxMapComponentTest:onEnter()
|
||||||
|
@ -421,13 +540,22 @@ end
|
||||||
function ParticleComponentTest:createGameScene()
|
function ParticleComponentTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/ParticleComponentTest/ParticleComponentTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/ParticleComponentTest/ParticleComponentTest.json")
|
||||||
if nil ~= node then
|
if nil ~= node then
|
||||||
local particle = node:getChildByTag(10020):getComponent("CCParticleSystemQuad")
|
SceneEditorTestLayer.fileName = "scenetest/ParticleComponentTest/ParticleComponentTest.json"
|
||||||
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
|
||||||
|
self:defaultPlay()
|
||||||
|
end
|
||||||
|
|
||||||
|
return node
|
||||||
|
end
|
||||||
|
|
||||||
|
function ParticleComponentTest:defaultPlay()
|
||||||
|
if SceneEditorTestLayer.rootNode ~= nil then
|
||||||
|
local particle = SceneEditorTestLayer.rootNode:getChildByTag(10020):getComponent("CCParticleSystemQuad")
|
||||||
local jump = cc.JumpBy:create(5, cc.p(-500,0), 50, 4)
|
local jump = cc.JumpBy:create(5, cc.p(-500,0), 50, 4)
|
||||||
local action = cc.Sequence:create( jump, jump:reverse())
|
local action = cc.Sequence:create( jump, jump:reverse())
|
||||||
particle:getNode():runAction(action)
|
particle:getNode():runAction(action)
|
||||||
end
|
end
|
||||||
|
|
||||||
return node
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function ParticleComponentTest:onEnter()
|
function ParticleComponentTest:onEnter()
|
||||||
|
@ -473,13 +601,24 @@ end
|
||||||
function EffectComponentTest:createGameScene()
|
function EffectComponentTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/EffectComponentTest/EffectComponentTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/EffectComponentTest/EffectComponentTest.json")
|
||||||
if nil ~= node then
|
if nil ~= node then
|
||||||
local render = node:getChildByTag(10015):getComponent("CCArmature")
|
SceneEditorTestLayer.fileName = "scenetest/EffectComponentTest/EffectComponentTest.json"
|
||||||
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
|
||||||
|
self:defaultPlay()
|
||||||
|
end
|
||||||
|
|
||||||
|
return node
|
||||||
|
end
|
||||||
|
|
||||||
|
function EffectComponentTest:defaultPlay()
|
||||||
|
if SceneEditorTestLayer.rootNode ~= nil then
|
||||||
|
local render = SceneEditorTestLayer.rootNode:getChildByTag(10015):getComponent("CCArmature")
|
||||||
local armature = render:getNode()
|
local armature = render:getNode()
|
||||||
local function animationEvent(armatureBack,movementType,movementID)
|
local function animationEvent(armatureBack,movementType,movementID)
|
||||||
local id = movementID
|
local id = movementID
|
||||||
if movementType == ccs.MovementEventType.loopComplete then
|
if movementType == ccs.MovementEventType.loopComplete then
|
||||||
if id == "Fire" then
|
if id == "Fire" then
|
||||||
local audio = node:getChildByTag(10015):getComponent("CCComAudio")
|
local audio = SceneEditorTestLayer.rootNode:getChildByTag(10015):getComponent("CCComAudio")
|
||||||
audio:playEffect()
|
audio:playEffect()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -487,8 +626,6 @@ function EffectComponentTest:createGameScene()
|
||||||
|
|
||||||
armature:getAnimation():setMovementEventCallFunc(animationEvent)
|
armature:getAnimation():setMovementEventCallFunc(animationEvent)
|
||||||
end
|
end
|
||||||
|
|
||||||
return node
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function EffectComponentTest:onEnter()
|
function EffectComponentTest:onEnter()
|
||||||
|
@ -534,13 +671,22 @@ end
|
||||||
function BackgroundComponentTest:createGameScene()
|
function BackgroundComponentTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/BackgroundComponentTest/BackgroundComponentTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/BackgroundComponentTest/BackgroundComponentTest.json")
|
||||||
if nil ~= node then
|
if nil ~= node then
|
||||||
local audio = node:getComponent("CCBackgroundAudio")
|
SceneEditorTestLayer.fileName = "scenetest/BackgroundComponentTest/BackgroundComponentTest.json"
|
||||||
audio:playBackgroundMusic()
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
|
||||||
|
self:defaultPlay()
|
||||||
end
|
end
|
||||||
|
|
||||||
return node
|
return node
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function BackgroundComponentTest:defaultPlay()
|
||||||
|
if SceneEditorTestLayer.rootNode ~= nil then
|
||||||
|
local audio = SceneEditorTestLayer.rootNode:getComponent("CCBackgroundAudio")
|
||||||
|
audio:playBackgroundMusic()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function BackgroundComponentTest:onEnter()
|
function BackgroundComponentTest:onEnter()
|
||||||
self:createMenu()
|
self:createMenu()
|
||||||
self:createTitle()
|
self:createTitle()
|
||||||
|
@ -583,11 +729,21 @@ end
|
||||||
|
|
||||||
function AttributeComponentTest:createGameScene()
|
function AttributeComponentTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/AttributeComponentTest/AttributeComponentTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/AttributeComponentTest/AttributeComponentTest.json")
|
||||||
local attribute = node:getChildByTag(10015):getComponent("CCComAttribute")
|
if nil ~= node then
|
||||||
print(string.format("Name: %s, HP: %f, MP: %f", attribute:getString("name"), attribute:getFloat("maxHP"), attribute:getFloat("maxMP")))
|
SceneEditorTestLayer.fileName = "scenetest/AttributeComponentTest/AttributeComponentTest.json"
|
||||||
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
self:defaultPlay()
|
||||||
|
end
|
||||||
return node
|
return node
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function AttributeComponentTest:defaultPlay()
|
||||||
|
if SceneEditorTestLayer.rootNode ~= nil then
|
||||||
|
local attribute = SceneEditorTestLayer.rootNode:getChildByTag(10015):getComponent("CCComAttribute")
|
||||||
|
print(string.format("Name: %s, HP: %f, MP: %f", attribute:getString("name"), attribute:getFloat("maxHP"), attribute:getFloat("maxMP")))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function AttributeComponentTest:onEnter()
|
function AttributeComponentTest:onEnter()
|
||||||
self:createMenu()
|
self:createMenu()
|
||||||
self:createTitle()
|
self:createTitle()
|
||||||
|
@ -631,7 +787,12 @@ end
|
||||||
|
|
||||||
function TriggerTest:createGameScene()
|
function TriggerTest:createGameScene()
|
||||||
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/TriggerTest/TriggerTest.json")
|
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("scenetest/TriggerTest/TriggerTest.json")
|
||||||
|
if nil ~= node then
|
||||||
|
SceneEditorTestLayer.fileName = "scenetest/TriggerTest/TriggerTest.json"
|
||||||
|
SceneEditorTestLayer.rootNode = node
|
||||||
|
|
||||||
|
self:defaultPlay()
|
||||||
|
end
|
||||||
return node
|
return node
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -658,6 +819,17 @@ function TriggerTest:onEnter()
|
||||||
local root = self:createGameScene()
|
local root = self:createGameScene()
|
||||||
if nil ~= root then
|
if nil ~= root then
|
||||||
self:addChild(root, 0, 1)
|
self:addChild(root, 0, 1)
|
||||||
|
local function onTouchEvent(touch, event)
|
||||||
|
if eventType == "began" then
|
||||||
|
return self:onTouchBegan(touch, event)
|
||||||
|
elseif eventType == "moved" then
|
||||||
|
self:onTouchMoved(touch, event)
|
||||||
|
elseif eventType == "ended" then
|
||||||
|
self:onTouchEnded(touch, event)
|
||||||
|
elseif eventType == "cancelled" then
|
||||||
|
self:onTouchCancelled(touch, event)
|
||||||
|
end
|
||||||
|
end
|
||||||
self._touchListener = nil
|
self._touchListener = nil
|
||||||
local listener = cc.EventListenerTouchOneByOne:create()
|
local listener = cc.EventListenerTouchOneByOne:create()
|
||||||
listener:setSwallowTouches(true)
|
listener:setSwallowTouches(true)
|
||||||
|
@ -668,20 +840,27 @@ function TriggerTest:onEnter()
|
||||||
local eventDispatcher = self:getEventDispatcher()
|
local eventDispatcher = self:getEventDispatcher()
|
||||||
eventDispatcher:addEventListenerWithSceneGraphPriority(listener, self)
|
eventDispatcher:addEventListenerWithSceneGraphPriority(listener, self)
|
||||||
self._touchListener = listener
|
self._touchListener = listener
|
||||||
|
|
||||||
|
self:unscheduleUpdate()
|
||||||
local function update(dt)
|
local function update(dt)
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_UPDATESCENE)
|
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_UPDATESCENE)
|
||||||
end
|
end
|
||||||
self:scheduleUpdateWithPriorityLua(update,0)
|
self:scheduleUpdateWithPriorityLua(update,0)
|
||||||
|
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_ENTERSCENE)
|
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_ENTERSCENE)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function TriggerTest:defaultPlay()
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function TriggerTest:onExit()
|
function TriggerTest:onExit()
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_LEAVESCENE)
|
|
||||||
self:unscheduleUpdate()
|
self:unscheduleUpdate()
|
||||||
|
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_LEAVESCENE)
|
||||||
local dispatcher = self:getEventDispatcher()
|
local dispatcher = self:getEventDispatcher()
|
||||||
dispatcher:removeEventListener(self._touchListener)
|
dispatcher:removeEventListener(self._touchListener)
|
||||||
|
self._touchListener = nil
|
||||||
ccs.TriggerMng.destroyInstance()
|
ccs.TriggerMng.destroyInstance()
|
||||||
ccs.ArmatureDataManager:destroyInstance()
|
ccs.ArmatureDataManager:destroyInstance()
|
||||||
ccs.SceneReader:destroyInstance()
|
ccs.SceneReader:destroyInstance()
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
require "src/ExtensionTest/CocosBuilderTest"
|
require "src/ExtensionTest/CocosBuilderTest"
|
||||||
require "src/ExtensionTest/WebProxyTest"
|
require "src/ExtensionTest/WebProxyTest"
|
||||||
require "src/ExtensionTest/SceneEditorTest"
|
|
||||||
|
|
||||||
local LINE_SPACE = 40
|
local LINE_SPACE = 40
|
||||||
local kItemTagBasic = 1000
|
local kItemTagBasic = 1000
|
||||||
|
@ -14,8 +13,7 @@ local ExtensionTestEnum =
|
||||||
TEST_EDITBOX = 4,
|
TEST_EDITBOX = 4,
|
||||||
TEST_TABLEVIEW = 5,
|
TEST_TABLEVIEW = 5,
|
||||||
TEST_SCROLLVIEW = 6,
|
TEST_SCROLLVIEW = 6,
|
||||||
TEST_STUDIOSCENE = 7,
|
TEST_MAX_COUNT = 7,
|
||||||
TEST_MAX_COUNT = 8,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local testsName =
|
local testsName =
|
||||||
|
@ -27,7 +25,6 @@ local testsName =
|
||||||
"EditBoxTest",
|
"EditBoxTest",
|
||||||
"TableViewTest",
|
"TableViewTest",
|
||||||
"ScrollViewTest",
|
"ScrollViewTest",
|
||||||
"CocoStudioSceneTest",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1190,7 +1187,6 @@ local CreateExtensionsTestTable =
|
||||||
runEditBoxTest,
|
runEditBoxTest,
|
||||||
runTableViewTest,
|
runTableViewTest,
|
||||||
runScrollViewTest,
|
runScrollViewTest,
|
||||||
runStudioSceneTest,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,270 +0,0 @@
|
||||||
require "CCBReaderLoad"
|
|
||||||
|
|
||||||
function SceneEditorTestLayer(filename)
|
|
||||||
|
|
||||||
local layer = cc.Layer:create()
|
|
||||||
local isCsbLoad = false;
|
|
||||||
local loadtypeStr = {"change to load \nwith binary file","change to load \nwith json file"}
|
|
||||||
local loadtypelb = cc.Label:createWithSystemFont(loadtypeStr[1], "Arial", 12);
|
|
||||||
local filePath = filename
|
|
||||||
layer.rootNode = nil
|
|
||||||
function layer:defaultPlay()end
|
|
||||||
|
|
||||||
local loadFileChangeHelper = function(filename)
|
|
||||||
if filename ~= nil then
|
|
||||||
if isCsbLoad then
|
|
||||||
return filename .. ".csb"
|
|
||||||
else
|
|
||||||
return filename .. ".json"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return filename
|
|
||||||
end
|
|
||||||
|
|
||||||
local changeLoadTypeCallback = function(sender)
|
|
||||||
isCsbLoad = not isCsbLoad
|
|
||||||
loadtypelb:setString(loadtypeStr[isCsbLoad == false and 1 or 2])
|
|
||||||
local file = loadFileChangeHelper(filePath)
|
|
||||||
|
|
||||||
if layer.rootNode ~= nil then
|
|
||||||
layer:removeChild(layer.rootNode)
|
|
||||||
layer.rootNode = SceneReader:getInstance():createNodeWithSceneFile(file)
|
|
||||||
layer:addChild(layer.rootNode, 0, 1)
|
|
||||||
layer:defaultPlay()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function layer:enter()
|
|
||||||
layer.rootNode = SceneReader:getInstance():createNodeWithSceneFile(loadFileChangeHelper(filePath))
|
|
||||||
layer:addChild(layer.rootNode, 0, 1)
|
|
||||||
layer:defaultPlay()
|
|
||||||
end
|
|
||||||
|
|
||||||
function layer:exit()
|
|
||||||
ccs.ArmatureDataManager:destroyInstance()
|
|
||||||
ccs.SceneReader:destroyInstance()
|
|
||||||
ccs.ActionManagerEx:destroyInstance()
|
|
||||||
ccs.GUIReader:destroyInstance()
|
|
||||||
end
|
|
||||||
|
|
||||||
local function onNodeEvent(event)
|
|
||||||
if "enter" == event then
|
|
||||||
layer:enter()
|
|
||||||
elseif "exit" == event then
|
|
||||||
layer:exit()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
layer:registerScriptHandler(onNodeEvent)
|
|
||||||
|
|
||||||
local itemlb = cc.MenuItemLabel:create(loadtypelb)
|
|
||||||
itemlb:registerScriptTapHandler(changeLoadTypeCallback)
|
|
||||||
local loadtypemenu = cc.Menu:create(itemlb)
|
|
||||||
loadtypemenu:setPosition(cc.p(VisibleRect:rightTop().x -50,VisibleRect:rightTop().y -20));
|
|
||||||
layer:addChild(loadtypemenu,100);
|
|
||||||
|
|
||||||
Helper.initWithLayer(layer)
|
|
||||||
Helper.titleLabel:setString("SceneReader Test LoadSceneEditorFile")
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function LoadSceneEdtiorFileTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/LoadSceneEdtiorFileTest/FishJoy2")
|
|
||||||
Helper.titleLabel:setString("loadSceneEdtiorFile Test")
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function SpriteComponentTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/SpriteComponentTest/SpriteComponentTest")
|
|
||||||
Helper.titleLabel:setString("Sprite Component Test")
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
layer.rootNode:getChildByTag(10003):getComponent("CCSprite"):getNode():runAction(cc.Blink:create(2, 10));
|
|
||||||
layer.rootNode:getChildByTag(10004):getComponent("CCSprite"):getNode():runAction(cc.Blink:create(2, 5));
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function ArmatureComponentTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/ArmatureComponentTest/ArmatureComponentTest")
|
|
||||||
Helper.titleLabel:setString("Armature Component Test")
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
layer.rootNode:getChildByTag(10007):getComponent("CCArmature"):getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
|
||||||
layer.rootNode:getChildByTag(10008):getComponent("CCArmature"):getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function UIComponentTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/UIComponentTest/UIComponentTest")
|
|
||||||
Helper.titleLabel:setString("UI Component Test")
|
|
||||||
|
|
||||||
local function touchEvent(sender,eventType)
|
|
||||||
if eventType == ccui.TouchEventType.began then
|
|
||||||
layer.rootNode:getChildByTag(10010):getComponent("CCArmature"):getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
|
||||||
layer.rootNode:getChildByTag(10011):getComponent("CCArmature"):getNode():runAction(cc.MoveBy:create(10.0, cc.p(-1000.0, 0)))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
local render = layer.rootNode:getChildByTag(10025):getComponent("GUIComponent")
|
|
||||||
local widget = render:getNode()
|
|
||||||
local button = widget:getChildByName("Button_156")
|
|
||||||
button:addTouchEventListener(touchEvent)
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function TmxMapComponentTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/TmxMapComponentTest/TmxMapComponentTest")
|
|
||||||
Helper.titleLabel:setString("TmxMap Component Test")
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
local render = layer.rootNode:getChildByTag(10015):getComponent("CCTMXTiledMap")
|
|
||||||
|
|
||||||
local skewTo = cc.SkewTo:create(2, 0, 2);
|
|
||||||
local rotateTo = cc.RotateTo:create(2, 61);
|
|
||||||
local scaleTo = cc.ScaleTo:create(2, -0.44, 0.47);
|
|
||||||
local scaleBack = cc.ScaleTo:create(2, 1, 1);
|
|
||||||
local rotateBack = cc.RotateTo:create(2, 0);
|
|
||||||
local skewBack = cc.SkewTo:create(2, 0, 0);
|
|
||||||
render:getNode():runAction(cc.Sequence:create(skewTo, skewBack));
|
|
||||||
render:getNode():runAction(cc.Sequence:create(rotateTo, rotateBack));
|
|
||||||
render:getNode():runAction(cc.Sequence:create(scaleTo, scaleBack));
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function ParticleComponentTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/ParticleComponentTest/ParticleComponentTest")
|
|
||||||
Helper.titleLabel:setString("Particle Component Test")
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
local render = layer.rootNode:getChildByTag(10020):getComponent("CCParticleSystemQuad")
|
|
||||||
|
|
||||||
local action = cc.JumpBy:create(5, cc.p(-500,0), 50, 4);
|
|
||||||
render:getNode():runAction(cc.Sequence:create(action, action:reverse()))
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function EffectComponentTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/EffectComponentTest/EffectComponentTest")
|
|
||||||
Helper.titleLabel:setString("Effect Component Test")
|
|
||||||
|
|
||||||
local animationEvent = function(armature,movementType,movementID)
|
|
||||||
if movementType == ccs.MovementEventType.loopComplete then
|
|
||||||
if movementID == "Fire" then
|
|
||||||
layer.rootNode:getChildByTag(10015):getComponent("CCComAudio"):playEffect()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
local render = layer.rootNode:getChildByTag(10015):getComponent("CCArmature")
|
|
||||||
|
|
||||||
render:getNode():getAnimation():setMovementEventCallFunc(animationEvent);
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function BackgroundComponentTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/BackgroundComponentTest/BackgroundComponentTest")
|
|
||||||
Helper.titleLabel:setString("Background Component Test")
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
layer.rootNode:getComponent("CCBackgroundAudio"):playBackgroundMusic();
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function AttributeComponentTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/AttributeComponentTest/AttributeComponentTest")
|
|
||||||
Helper.titleLabel:setString("Attribute Component Test")
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
local attribute = layer.rootNode:getChildByTag(10015):getComponent("CCComAttribute")
|
|
||||||
cclog("Name: " .. attribute:getString("name") .. ", HP: " .. attribute:getFloat("maxHP") .. ", MP: " .. attribute:getFloat("maxMP"))
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function TriggerTest()
|
|
||||||
local layer = SceneEditorTestLayer("scenetest/TriggerTest/TriggerTest")
|
|
||||||
Helper.titleLabel:setString("Trigger Test")
|
|
||||||
|
|
||||||
local function onTouchBegan(touch, event)
|
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_TOUCHBEGAN)
|
|
||||||
end
|
|
||||||
local function onTouchMoved(touch, event)
|
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_TOUCHMOVED)
|
|
||||||
end
|
|
||||||
local function onTouchEnded(touch, event)
|
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_TOUCHENDED)
|
|
||||||
end
|
|
||||||
local function onTouchCancelled(touch, event)
|
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_TOUCHCANCELLED)
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
local touchListener = cc.EventListenerTouchOneByOne:create()
|
|
||||||
touchListener:setSwallowTouches(true)
|
|
||||||
touchListener:registerScriptHandler(onTouchBegan, cc.Handler.EVENT_TOUCH_BEGAN)
|
|
||||||
touchListener:registerScriptHandler(onTouchMoved, cc.Handler.EVENT_TOUCH_MOVED)
|
|
||||||
touchListener:registerScriptHandler(onTouchEnded, cc.Handler.EVENT_TOUCH_ENDED)
|
|
||||||
touchListener:registerScriptHandler(onTouchCancelled, cc.Handler.EVENT_TOUCH_CANCELLED)
|
|
||||||
local eventDispatcher = layer:getEventDispatcher()
|
|
||||||
eventDispatcher:addEventListenerWithFixedPriority(touchListener, 1)
|
|
||||||
|
|
||||||
|
|
||||||
local function gameLogic(dt)
|
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_UPDATESCENE)
|
|
||||||
end
|
|
||||||
|
|
||||||
local layerExit = layer.exit
|
|
||||||
function layer:exit()
|
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_LEAVESCENE)
|
|
||||||
layer:unschedule(gameLogic)
|
|
||||||
eventDispatcher:removeEventListener(touchListener)
|
|
||||||
layerExit(layer)
|
|
||||||
end
|
|
||||||
|
|
||||||
schedule(layer,gameLogic)
|
|
||||||
|
|
||||||
function layer:defaultPlay()
|
|
||||||
ccs.sendTriggerEvent(triggerEventDef.TRIGGEREVENT_ENTERSCENE);
|
|
||||||
end
|
|
||||||
|
|
||||||
return layer
|
|
||||||
end
|
|
||||||
|
|
||||||
function runStudioSceneTest()
|
|
||||||
local scene = cc.Scene:create()
|
|
||||||
|
|
||||||
Helper.createFunctionTable = {
|
|
||||||
LoadSceneEdtiorFileTest,
|
|
||||||
SpriteComponentTest,
|
|
||||||
ArmatureComponentTest,
|
|
||||||
UIComponentTest,
|
|
||||||
TmxMapComponentTest,
|
|
||||||
ParticleComponentTest,
|
|
||||||
EffectComponentTest,
|
|
||||||
BackgroundComponentTest,
|
|
||||||
AttributeComponentTest,
|
|
||||||
TriggerTest,
|
|
||||||
}
|
|
||||||
|
|
||||||
scene:addChild(Helper.createFunctionTable[1]())
|
|
||||||
scene:addChild(CreateBackMenuItem())
|
|
||||||
return scene
|
|
||||||
end
|
|
|
@ -1012,39 +1012,37 @@ local function TMXOrthoFlipRunTimeTest()
|
||||||
map:runAction(action)
|
map:runAction(action)
|
||||||
local function flipIt(dt)
|
local function flipIt(dt)
|
||||||
|
|
||||||
-- local map = tolua.cast(ret:getChildByTag(kTagTileMap), "TMXTiledMap")
|
local map = ret:getChildByTag(kTagTileMap)
|
||||||
-- local layer = map:getLayer("Layer 0")
|
local layer = map:getLayer("Layer 0")
|
||||||
|
|
||||||
|
local tileCoord = cc.p(1, 10)
|
||||||
|
local flags = 0
|
||||||
|
local GID, flags = layer:getTileGIDAt(tileCoord, flags)
|
||||||
|
if 0 ~= bit._and(flags, cc.TMX_TILE_VERTICAL_FLAG) then
|
||||||
|
flags = bit._and(flags, bit._not(cc.TMX_TILE_VERTICAL_FLAG))
|
||||||
|
else
|
||||||
|
flags = bit._or(flags, cc.TMX_TILE_VERTICAL_FLAG)
|
||||||
|
end
|
||||||
|
layer:setTileGID(GID, tileCoord, flags)
|
||||||
|
|
||||||
-- --blue diamond
|
tileCoord = cc.p(1,8)
|
||||||
-- local tileCoord = cc.p(1,10)
|
GID, flags = layer:getTileGIDAt(tileCoord, flags)
|
||||||
-- local flags = 0
|
if 0 ~= bit._and(flags, cc.TMX_TILE_VERTICAL_FLAG) then
|
||||||
-- local GID = layer:getTileGIDAt(tileCoord, (ccTMXTileFlags*)&flags)
|
flags = bit._and(flags, bit._not(cc.TMX_TILE_VERTICAL_FLAG))
|
||||||
-- -- Vertical
|
else
|
||||||
-- if( flags & kcc.TMXTileVerticalFlag )
|
flags = bit._or(flags, cc.TMX_TILE_VERTICAL_FLAG)
|
||||||
-- flags &= ~kcc.TMXTileVerticalFlag
|
end
|
||||||
-- else
|
layer:setTileGID(GID ,tileCoord, flags)
|
||||||
-- flags |= kcc.TMXTileVerticalFlag
|
|
||||||
-- layer:setTileGID(GID ,tileCoord, (ccTMXTileFlags)flags)
|
|
||||||
|
|
||||||
|
tileCoord = cc.p(2,8)
|
||||||
-- tileCoord = cc.p(1,8)
|
GID, flags = layer:getTileGIDAt(tileCoord, flags)
|
||||||
-- GID = layer:getTileGIDAt(tileCoord, (ccTMXTileFlags*)&flags)
|
-- Horizontal
|
||||||
-- -- Vertical
|
if 0~= bit._and(flags, cc.TMX_TILE_HORIZONTAL_FLAG) then
|
||||||
-- if( flags & kcc.TMXTileVerticalFlag )
|
flags = bit._and(flags, bit._not(cc.TMX_TILE_HORIZONTAL_FLAG))
|
||||||
-- flags &= ~kcc.TMXTileVerticalFlag
|
else
|
||||||
-- else
|
flags = bit._or(flags, cc.TMX_TILE_HORIZONTAL_FLAG)
|
||||||
-- flags |= kcc.TMXTileVerticalFlag
|
end
|
||||||
-- layer:setTileGID(GID ,tileCoord, (ccTMXTileFlags)flags)
|
layer:setTileGID(GID, tileCoord, flags)
|
||||||
|
|
||||||
|
|
||||||
-- tileCoord = cc.p(2,8)
|
|
||||||
-- GID = layer:getTileGIDAt(tileCoord, (ccTMXTileFlags*)&flags)
|
|
||||||
-- -- Horizontal
|
|
||||||
-- if( flags & kcc.TMXTileHorizontalFlag )
|
|
||||||
-- flags &= ~kcc.TMXTileHorizontalFlag
|
|
||||||
-- else
|
|
||||||
-- flags |= kcc.TMXTileHorizontalFlag
|
|
||||||
-- layer:setTileGID(GID, tileCoord, (ccTMXTileFlags)flags)
|
|
||||||
end
|
end
|
||||||
local schedulerEntry = nil
|
local schedulerEntry = nil
|
||||||
local function onNodeEvent(event)
|
local function onNodeEvent(event)
|
||||||
|
@ -1054,6 +1052,9 @@ local function TMXOrthoFlipRunTimeTest()
|
||||||
scheduler:unscheduleScriptEntry(schedulerEntry)
|
scheduler:unscheduleScriptEntry(schedulerEntry)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
ret:registerScriptHandler(onNodeEvent)
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,8 @@ local vertDefaultSource = "\n".."\n" ..
|
||||||
" v_texCoord = a_texCoord;\n" ..
|
" v_texCoord = a_texCoord;\n" ..
|
||||||
"} \n"
|
"} \n"
|
||||||
|
|
||||||
|
local scaleFactor = cc.Director:getInstance():getContentScaleFactor()
|
||||||
|
|
||||||
local function OpenGLTestMainLayer()
|
local function OpenGLTestMainLayer()
|
||||||
local kItemTagBasic = 1000
|
local kItemTagBasic = 1000
|
||||||
local testCount = 16
|
local testCount = 16
|
||||||
|
@ -231,6 +233,8 @@ local function OpenGLTestMainLayer()
|
||||||
time = 0
|
time = 0
|
||||||
majorLayer:addChild(glNode,-10)
|
majorLayer:addChild(glNode,-10)
|
||||||
glNode:setPosition( size.width/2, size.height/2)
|
glNode:setPosition( size.width/2, size.height/2)
|
||||||
|
local center = cc.p( size.width / 2 * scaleFactor, size.height / 2 * scaleFactor)
|
||||||
|
glNode:getGLProgramState():setUniformVec2("center", center)
|
||||||
return majorLayer
|
return majorLayer
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -272,6 +276,8 @@ local function OpenGLTestMainLayer()
|
||||||
time = 0
|
time = 0
|
||||||
mandelbrotLayer:addChild(glNode,-10)
|
mandelbrotLayer:addChild(glNode,-10)
|
||||||
glNode:setPosition( size.width/2, size.height/2)
|
glNode:setPosition( size.width/2, size.height/2)
|
||||||
|
local center = cc.p( size.width / 2 * scaleFactor, size.height / 2 * scaleFactor)
|
||||||
|
glNode:getGLProgramState():setUniformVec2("center", center)
|
||||||
return mandelbrotLayer
|
return mandelbrotLayer
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -314,6 +320,8 @@ local function OpenGLTestMainLayer()
|
||||||
time = 0
|
time = 0
|
||||||
heartLayer:addChild(glNode,-10)
|
heartLayer:addChild(glNode,-10)
|
||||||
glNode:setPosition( size.width/2, size.height/2)
|
glNode:setPosition( size.width/2, size.height/2)
|
||||||
|
local center = cc.p( size.width / 2 * scaleFactor, size.height / 2 * scaleFactor)
|
||||||
|
glNode:getGLProgramState():setUniformVec2("center", center)
|
||||||
return heartLayer
|
return heartLayer
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -357,6 +365,8 @@ local function OpenGLTestMainLayer()
|
||||||
time = 0
|
time = 0
|
||||||
plasmaLayer:addChild(glNode,-10)
|
plasmaLayer:addChild(glNode,-10)
|
||||||
glNode:setPosition( size.width/2, size.height/2)
|
glNode:setPosition( size.width/2, size.height/2)
|
||||||
|
local center = cc.p( size.width / 2 * scaleFactor, size.height / 2 * scaleFactor)
|
||||||
|
glNode:getGLProgramState():setUniformVec2("center", center)
|
||||||
return plasmaLayer
|
return plasmaLayer
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -399,6 +409,8 @@ local function OpenGLTestMainLayer()
|
||||||
time = 0
|
time = 0
|
||||||
flowerLayer:addChild(glNode,-10)
|
flowerLayer:addChild(glNode,-10)
|
||||||
glNode:setPosition( size.width/2, size.height/2)
|
glNode:setPosition( size.width/2, size.height/2)
|
||||||
|
local center = cc.p( size.width / 2 * scaleFactor, size.height / 2 * scaleFactor)
|
||||||
|
glNode:getGLProgramState():setUniformVec2("center", center)
|
||||||
return flowerLayer
|
return flowerLayer
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -441,6 +453,8 @@ local function OpenGLTestMainLayer()
|
||||||
time = 0
|
time = 0
|
||||||
juliaLayer:addChild(glNode,-10)
|
juliaLayer:addChild(glNode,-10)
|
||||||
glNode:setPosition( size.width/2, size.height/2)
|
glNode:setPosition( size.width/2, size.height/2)
|
||||||
|
local center = cc.p( size.width / 2 * scaleFactor, size.height / 2 * scaleFactor)
|
||||||
|
glNode:getGLProgramState():setUniformVec2("center", center)
|
||||||
return juliaLayer
|
return juliaLayer
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -545,7 +559,7 @@ local function OpenGLTestMainLayer()
|
||||||
shader:setUniformsForBuiltins(transform)
|
shader:setUniformsForBuiltins(transform)
|
||||||
|
|
||||||
gl.bindTexture(gl.TEXTURE_2D, texture.texture_id)
|
gl.bindTexture(gl.TEXTURE_2D, texture.texture_id)
|
||||||
gl.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_TEX_COORDS or cc.VERTEX_ATTRIB_FLAG_POSITION)
|
gl.glEnableVertexAttribs(bit._or(cc.VERTEX_ATTRIB_FLAG_TEX_COORDS, cc.VERTEX_ATTRIB_FLAG_POSITION))
|
||||||
|
|
||||||
gl.bindBuffer(gl.ARRAY_BUFFER, squareVertexPositionBuffer.buffer_id)
|
gl.bindBuffer(gl.ARRAY_BUFFER, squareVertexPositionBuffer.buffer_id)
|
||||||
gl.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION,2,gl.FLOAT,false,0,0)
|
gl.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION,2,gl.FLOAT,false,0,0)
|
||||||
|
|
|
@ -16,89 +16,6 @@ local function range(from, to, step)
|
||||||
end, nil, from - step
|
end, nil, from - step
|
||||||
end
|
end
|
||||||
|
|
||||||
-- bit operation
|
|
||||||
|
|
||||||
bit = bit or {}
|
|
||||||
bit.data32 = {}
|
|
||||||
for i=1,32 do
|
|
||||||
bit.data32[i]=2^(32-i)
|
|
||||||
end
|
|
||||||
|
|
||||||
function bit._b2d(arg)
|
|
||||||
local nr=0
|
|
||||||
for i=1,32 do
|
|
||||||
if arg[i] ==1 then
|
|
||||||
nr=nr+bit.data32[i]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return nr
|
|
||||||
end
|
|
||||||
|
|
||||||
function bit._d2b(arg)
|
|
||||||
arg = arg >= 0 and arg or (0xFFFFFFFF + arg + 1)
|
|
||||||
local tr={}
|
|
||||||
for i=1,32 do
|
|
||||||
if arg >= bit.data32[i] then
|
|
||||||
tr[i]=1
|
|
||||||
arg=arg-bit.data32[i]
|
|
||||||
else
|
|
||||||
tr[i]=0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return tr
|
|
||||||
end
|
|
||||||
|
|
||||||
function bit._and(a,b)
|
|
||||||
local op1=bit._d2b(a)
|
|
||||||
local op2=bit._d2b(b)
|
|
||||||
local r={}
|
|
||||||
|
|
||||||
for i=1,32 do
|
|
||||||
if op1[i]==1 and op2[i]==1 then
|
|
||||||
r[i]=1
|
|
||||||
else
|
|
||||||
r[i]=0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return bit._b2d(r)
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
function bit._rshift(a,n)
|
|
||||||
local op1=bit._d2b(a)
|
|
||||||
n = n <= 32 and n or 32
|
|
||||||
n = n >= 0 and n or 0
|
|
||||||
|
|
||||||
for i=32, n+1, -1 do
|
|
||||||
op1[i] = op1[i-n]
|
|
||||||
end
|
|
||||||
for i=1, n do
|
|
||||||
op1[i] = 0
|
|
||||||
end
|
|
||||||
|
|
||||||
return bit._b2d(op1)
|
|
||||||
end
|
|
||||||
|
|
||||||
function bit._not(a)
|
|
||||||
local op1=bit._d2b(a)
|
|
||||||
local r={}
|
|
||||||
|
|
||||||
for i=1,32 do
|
|
||||||
if op1[i]==1 then
|
|
||||||
r[i]=0
|
|
||||||
else
|
|
||||||
r[i]=1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return bit._b2d(r)
|
|
||||||
end
|
|
||||||
|
|
||||||
bit.band = bit.band or bit._and
|
|
||||||
bit.rshift = bit.rshift or bit._rshift
|
|
||||||
bit.bnot = bit.bnot or bit._not
|
|
||||||
|
|
||||||
-- bit operation end
|
|
||||||
|
|
||||||
local function initWithLayer(layer, callback)
|
local function initWithLayer(layer, callback)
|
||||||
curLayer = layer
|
curLayer = layer
|
||||||
layer.spriteTexture = cc.SpriteBatchNode:create("Images/grossini_dance_atlas.png", 100):getTexture()
|
layer.spriteTexture = cc.SpriteBatchNode:create("Images/grossini_dance_atlas.png", 100):getTexture()
|
||||||
|
|
|
@ -1001,14 +1001,15 @@ local function TextureAsync()
|
||||||
cc.Director:getInstance():getTextureCache():addImageAsync("Images/background.png", imageLoaded)
|
cc.Director:getInstance():getTextureCache():addImageAsync("Images/background.png", imageLoaded)
|
||||||
cc.Director:getInstance():getTextureCache():addImageAsync("Images/atlastest.png", imageLoaded)
|
cc.Director:getInstance():getTextureCache():addImageAsync("Images/atlastest.png", imageLoaded)
|
||||||
cc.Director:getInstance():getTextureCache():addImageAsync("Images/grossini_dance_atlas.png",imageLoaded)
|
cc.Director:getInstance():getTextureCache():addImageAsync("Images/grossini_dance_atlas.png",imageLoaded)
|
||||||
|
|
||||||
|
ret:unscheduleUpdate()
|
||||||
end
|
end
|
||||||
|
|
||||||
local schedulerEntry = nil
|
|
||||||
local function onNodeEvent(event)
|
local function onNodeEvent(event)
|
||||||
if event == "enter" then
|
if event == "enter" then
|
||||||
schedulerEntry = scheduler:scheduleScriptFunc(loadImages, 1.0, false)
|
ret:scheduleUpdateWithPriorityLua(loadImages,0)
|
||||||
elseif event == "exit" then
|
elseif event == "exit" then
|
||||||
scheduler:unscheduleScriptEntry(schedulerEntry)
|
ret:unscheduleUpdate()
|
||||||
cc.Director:getInstance():getTextureCache():removeAllTextures()
|
cc.Director:getInstance():getTextureCache():removeAllTextures()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1106,41 +1106,40 @@ local function TMXOrthoFlipRunTimeTest()
|
||||||
local action = cc.ScaleBy:create(2, 0.5)
|
local action = cc.ScaleBy:create(2, 0.5)
|
||||||
map:runAction(action)
|
map:runAction(action)
|
||||||
local function flipIt(dt)
|
local function flipIt(dt)
|
||||||
|
local map = ret:getChildByTag(kTagTileMap)
|
||||||
|
local layer = map:getLayer("Layer 0")
|
||||||
|
|
||||||
-- local map = tolua.cast(ret:getChildByTag(kTagTileMap), "TMXTiledMap")
|
local tileCoord = cc.p(1, 10)
|
||||||
-- local layer = map:getLayer("Layer 0")
|
local flags = 0
|
||||||
|
local GID, flags = layer:getTileGIDAt(tileCoord, flags)
|
||||||
|
|
||||||
-- --blue diamond
|
if 0 ~= bit._and(flags, cc.TMX_TILE_VERTICAL_FLAG) then
|
||||||
-- local tileCoord = cc.p(1,10)
|
flags = bit._and(flags, bit._not(cc.TMX_TILE_VERTICAL_FLAG))
|
||||||
-- local flags = 0
|
else
|
||||||
-- local GID = layer:getTileGIDAt(tileCoord, (ccTMXTileFlags*)&flags)
|
flags = bit._or(flags, cc.TMX_TILE_VERTICAL_FLAG)
|
||||||
-- -- Vertical
|
end
|
||||||
-- if( flags & kcc.TMXTileVerticalFlag )
|
layer:setTileGID(GID, tileCoord, flags)
|
||||||
-- flags &= ~kcc.TMXTileVerticalFlag
|
|
||||||
-- else
|
|
||||||
-- flags |= kcc.TMXTileVerticalFlag
|
|
||||||
-- layer:setTileGID(GID ,tileCoord, (ccTMXTileFlags)flags)
|
|
||||||
|
|
||||||
|
tileCoord = cc.p(1,8)
|
||||||
|
GID, flags = layer:getTileGIDAt(tileCoord, flags)
|
||||||
|
if 0 ~= bit._and(flags, cc.TMX_TILE_VERTICAL_FLAG) then
|
||||||
|
flags = bit._and(flags, bit._not(cc.TMX_TILE_VERTICAL_FLAG))
|
||||||
|
else
|
||||||
|
flags = bit._or(flags, cc.TMX_TILE_VERTICAL_FLAG)
|
||||||
|
end
|
||||||
|
layer:setTileGID(GID ,tileCoord, flags)
|
||||||
|
|
||||||
-- tileCoord = cc.p(1,8)
|
tileCoord = cc.p(2,8)
|
||||||
-- GID = layer:getTileGIDAt(tileCoord, (ccTMXTileFlags*)&flags)
|
GID, flags = layer:getTileGIDAt(tileCoord, flags)
|
||||||
-- -- Vertical
|
-- Horizontal
|
||||||
-- if( flags & kcc.TMXTileVerticalFlag )
|
if 0~= bit._and(flags, cc.TMX_TILE_HORIZONTAL_FLAG) then
|
||||||
-- flags &= ~kcc.TMXTileVerticalFlag
|
flags = bit._and(flags, bit._not(cc.TMX_TILE_HORIZONTAL_FLAG))
|
||||||
-- else
|
else
|
||||||
-- flags |= kcc.TMXTileVerticalFlag
|
flags = bit._or(flags, cc.TMX_TILE_HORIZONTAL_FLAG)
|
||||||
-- layer:setTileGID(GID ,tileCoord, (ccTMXTileFlags)flags)
|
end
|
||||||
|
layer:setTileGID(GID, tileCoord, flags)
|
||||||
|
|
||||||
-- tileCoord = cc.p(2,8)
|
|
||||||
-- GID = layer:getTileGIDAt(tileCoord, (ccTMXTileFlags*)&flags)
|
|
||||||
-- -- Horizontal
|
|
||||||
-- if( flags & kcc.TMXTileHorizontalFlag )
|
|
||||||
-- flags &= ~kcc.TMXTileHorizontalFlag
|
|
||||||
-- else
|
|
||||||
-- flags |= kcc.TMXTileHorizontalFlag
|
|
||||||
-- layer:setTileGID(GID, tileCoord, (ccTMXTileFlags)flags)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local schedulerEntry = nil
|
local schedulerEntry = nil
|
||||||
local function onNodeEvent(event)
|
local function onNodeEvent(event)
|
||||||
if event == "enter" then
|
if event == "enter" then
|
||||||
|
@ -1149,6 +1148,9 @@ local function TMXOrthoFlipRunTimeTest()
|
||||||
scheduler:unscheduleScriptEntry(schedulerEntry)
|
scheduler:unscheduleScriptEntry(schedulerEntry)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
ret:registerScriptHandler(onNodeEvent)
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ require "Opengl"
|
||||||
require "OpenglConstants"
|
require "OpenglConstants"
|
||||||
require "StudioConstants"
|
require "StudioConstants"
|
||||||
require "GuiConstants"
|
require "GuiConstants"
|
||||||
|
require "bitExtend"
|
||||||
require "src/helper"
|
require "src/helper"
|
||||||
require "src/testResource"
|
require "src/testResource"
|
||||||
require "src/VisibleRect"
|
require "src/VisibleRect"
|
||||||
|
|
Loading…
Reference in New Issue