Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android storyboard.purgese()在exitScene中不起作用,但当它使用类似于tap的函数时,它会起作用_Android_Corona Storyboard - Fatal编程技术网

Android storyboard.purgese()在exitScene中不起作用,但当它使用类似于tap的函数时,它会起作用

Android storyboard.purgese()在exitScene中不起作用,但当它使用类似于tap的函数时,它会起作用,android,corona-storyboard,Android,Corona Storyboard,我是android开发新手,想问一个简单的问题 storyboard.Purgesene(sceneName)在我的场景:exitScene(e)中不起作用,但当我将其附加到tap函数时,它会起作用。为什么会这样 下面是正在运行的示例代码: local storyboard = require ( "storyboard" ); local scene = storyboard.newScene(); local startbtn; local roller; local ceiling; l

我是android开发新手,想问一个简单的问题

storyboard.Purgesene(sceneName)在我的场景:exitScene(e)中不起作用,但当我将其附加到tap函数时,它会起作用。为什么会这样

下面是正在运行的示例代码:

local storyboard = require ( "storyboard" );
local scene = storyboard.newScene();

local startbtn;
local roller;
local ceiling;
local ground;
local leftwall;
local rightwall;

function scene:createScene(e)

local view = self.view;


local background = display.newImageRect( "background.png",  _W,  _H);
background.x = _W * 0.5;
background.y = _H * 0.5;

local logo = display.newImageRect( "logo.png",  800,  300);
logo.x = _W * 0.5;
logo.y = logo.height - 100;

startbtn = display.newImageRect( "start.png",  400,  150)
startbtn.x = _W * 0.5;
startbtn.y = logo.height + 150;

roller = display.newImageRect ( "roller.png", 150, 150 );
roller.x = _W * 0.5;
roller.y =  _H - 150;

ceiling = display.newImageRect( "horizontal.png",  _W,  50);
ceiling.x = _W * 0.5;
ceiling.y = 25;

ground = display.newImageRect( "horizontal.png",  _W,  50);
ground.x = _W * 0.5;
ground.y = _H - 25;

leftwall = display.newImageRect( "vertical.png",  50,  _H);
leftwall.x = 25;
leftwall.y = _H * 0.5;

rightwall = display.newImageRect( "vertical.png",  50,  _H);
rightwall.x = _W - 25;
rightwall.y = _H * 0.5;


view:insert(background);
view:insert(ceiling);
view:insert(ground);
view:insert(leftwall);
view:insert(rightwall);
view:insert(logo);
view:insert(startbtn);
view:insert(roller);




startbtn:addEventListener ( "tap", startbtn );

function startbtn:tap(e)
    storyboard.gotoScene("stage1");
    storyboard.purgeScene("menu");
end

 end


 function scene:enterScene(e)


physics.addBody ( roller, {density=10, friction=0.5, bounce=0.1, radius = 75});
physics.addBody ( ground, "static", {friction=0.5, bounce=0.1} );
physics.addBody ( ceiling,"static", {friction=0.5, bounce=0.1} );
physics.addBody ( leftwall, "static",{friction=0.5, bounce=0.1} );
physics.addBody ( rightwall,"static", {friction=0.5, bounce=0.1} );


end


function scene:exitScene(e)

end


scene:addEventListener ( "createScene", scene );
scene:addEventListener ( "enterScene", scene );
scene:addEventListener ( "exitScene", scene );

return scene;
下面是应该可以工作但不能工作的代码

storyboard = require ( "storyboard" );
local scene = storyboard.newScene();

local startbtn;
local roller;
local ceiling;
local ground;
local leftwall;
local rightwall;

function scene:createScene(e)

local view = self.view;


local background = display.newImageRect( "background.png",  _W,  _H);
background.x = _W * 0.5;
background.y = _H * 0.5;

local logo = display.newImageRect( "logo.png",  800,  300);
logo.x = _W * 0.5;
logo.y = logo.height - 100;

startbtn = display.newImageRect( "start.png",  400,  150)
startbtn.x = _W * 0.5;
startbtn.y = logo.height + 150;

roller = display.newImageRect ( "roller.png", 150, 150 );
roller.x = _W * 0.5;
roller.y =  _H - 150;

ceiling = display.newImageRect( "horizontal.png",  _W,  50);
ceiling.x = _W * 0.5;
ceiling.y = 25;

ground = display.newImageRect( "horizontal.png",  _W,  50);
ground.x = _W * 0.5;
ground.y = _H - 25;

leftwall = display.newImageRect( "vertical.png",  50,  _H);
leftwall.x = 25;
leftwall.y = _H * 0.5;

rightwall = display.newImageRect( "vertical.png",  50,  _H);
rightwall.x = _W - 25;
rightwall.y = _H * 0.5;


view:insert(background);
view:insert(ceiling);
view:insert(ground);
view:insert(leftwall);
view:insert(rightwall);
view:insert(logo);
view:insert(startbtn);
view:insert(roller);




startbtn:addEventListener ( "tap", startbtn );

function startbtn:tap(e)
    storyboard.gotoScene("stage1");
end

end


function scene:enterScene(e)


physics.addBody ( roller, {density=10, friction=0.5, bounce=0.1, radius = 75});
physics.addBody ( ground, "static", {friction=0.5, bounce=0.1} );
physics.addBody ( ceiling,"static", {friction=0.5, bounce=0.1} );
physics.addBody ( leftwall, "static",{friction=0.5, bounce=0.1} );
physics.addBody ( rightwall,"static", {friction=0.5, bounce=0.1} );


end


function scene:exitScene(e)
storyboard.purgeScene("menu");
end


scene:addEventListener ( "createScene", scene );
scene:addEventListener ( "enterScene", scene );
scene:addEventListener ( "exitScene", scene );

return scene;

有人能给我解释一下吗,因为我在这里很困惑。

NVM,你的功能启动了tn:tap(e)在你的createScene功能中,你必须将它移出。

试试这段代码

--场景1.lua 本地情节提要=需要“情节提要” 本地场景=故事板.newScene()

--CreateSecene事件只是创建一个背景图像 功能场景:CreateSecene(事件) 本地bg=display.newImage(self.view,“background.png”) 终止 场景:addEventListener(“创建场景”)

返场

如果您有更多疑问,请登录:

function scene:didExitScene( event )
 storyboard.purgeScene( "scene1" )
end
scene:addEventListener( "didExitScene" )