저는 앱의 소개 및 데모 코드에서 작업하고 있습니다. 그리고 모든게 잘 작동하지만 내가 그것을 사용하려고 할 때 나는 버그를 발견하고 그것을 제거하는 방법을 모른다.내 앱이 갇히게 된 이유
이것은 앱에서 수행하는 작업입니다. 먼저 "이 사각형이 나타날 때를 터치하고 다른 그림이 화면에 닿지 않으면 터치합니다"라는 안내를 봅니다. 따라서 데모가 시작되고 사각형을 건드리지 않으면 "사각형을 터치하는 것을 잊지 마십시오"라는 메시지가 나타납니다. 그러나 화면을 터치하여 메시지를 제거하면 다른 그림을 터치하는 것처럼 읽습니다. . 나는 이것을 관리하는 방법을 알아 내려고 노력하고 있지만, 정말 힘들었습니다.
그래서, 작은 도움을 요청하는 메신저, plz. 메시지가 화면 상에있을 때 터치 스크린을 차단하거나 로직 우회 방법.
들으
P.S : 이것은
---------------------------------------------------------------------------------
-- SCENE NAME
-- Scene notes go here
---------------------------------------------------------------------------------
local storyboard = require("storyboard")
local scene = storyboard.newScene()
-- Clear previous scene
--storyboard.removeAll()
-- local forward references should go here --
---------------------------------------------------------------------------------
-- BEGINNING OF YOUR IMPLEMENTATION
--tiempoVisible = 150 --Tiempo de visibilidad del circulo
--tiempoNoVisible = 1850 --Intervalo de timepo entre un circulo y otro
tiempoVisible = 200 --Tiempo de visibilidad del circulo
tiempoNoVisible = 2250 --Intervalo de timepo entre un circulo y otro
aciertos = 0 --Registra los aciertos del paciente
comisiones = 0 --Registra las comisiones del paciente
omisiones = 0 --Registra las omisiones del paciente
tiempo = tiempoNoVisible --Entrega el tiempo que debe estar el circulo y el tiempo de intervalo
--Contiene la secuencia de circulos buenos (1) y circulos malos (0)
tablaSecuencia = {0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1}
contadorSecuencia = 0 --Registra en que lugar de la tabla va la secuencia
esTransparente = true --Verifica si el circulo esta transparente o no
estaRespondido = false --Verifica si el circulo fue presionado
---------------------------------------------------------------------------------
-- Called when the scene's view does not exist:
function scene:createScene(event)
local group = self.view
--print("inside")
imagenINTRU = display.newImage("test2/instrucciones.png", 0, 0, true);
imagenINTRU:scale(display.contentWidth/imagenINTRU.contentWidth+0.15, display.contentHeight/imagenINTRU.contentHeight+0.1);
imagenINTRU.x= display.contentWidth/2;
imagenINTRU.y= display.contentHeight/2+40;
group:insert(imagenINTRU);
empezoTest = false
circulo = display.newCircle(display.contentCenterX-20, display.contentCenterY-30, 80)
circulo.alpha = 0
group:insert(circulo)
circulo.isVisible=false;
imagenP = display.newImage("test2/pentagonox.png", 0, 0, true);
imagenP:scale(1, 1);
imagenP.x= display.contentWidth/2;
imagenP.y= display.contentHeight/2;
group:insert(imagenP);
imagenP.isVisible=false;
imagenC = display.newImage("test2/cuadradox.png", 0, 0, true);
imagenC:scale(1, 1);
imagenC.x= display.contentWidth/2;
imagenC.y= display.contentHeight/2;
group:insert(imagenC);
imagenC.isVisible=false;
mensajeA = display.newText("¡Eso es!", 0, 0, 400, 0, native.systemFontBold, 60)
mensajeA.x = (display.contentWidth/2) + 100
mensajeA.y = 600 --display.contentHeight/2
mensajeA:setFillColor(144/255, 173/255, 193/255, 1)
mensajeA.align = "center"
group:insert(mensajeA)
mensajeB = display.newText("¡Recuerde que debe presionar cuando\n aparezca un cuadrado!", 0, 0, 950, 0, native.systemFontBold, 50)
mensajeB.x = 550
mensajeB.y = 600 --display.contentHeight/2
mensajeB:setFillColor(144/255, 173/255, 193/255, 1)
mensajeB.align = "center"
group:insert(mensajeB)
mensajeC = display.newText("¡Recuerde que NO debe presionar cuando\n aparezca otra figura geométrica!", 0, 0, 1100, 0, native.systemFontBold, 50)
mensajeC.x = 550
mensajeC.y = 600 --display.contentHeight/2
mensajeC:setFillColor(144/255, 173/255, 193/255, 1)
mensajeC.align = "center"
group:insert(mensajeC)
mensajeA.isVisible=false;
mensajeB.isVisible=false;
mensajeC.isVisible=false;
end
-- Called BEFORE scene has moved onscreen:
function scene:willEnterScene(event)
local group = self.view
end
-- Called immediately after scene has moved onscreen:
function scene:enterScene(event)
local group = self.view
end
-- Called when scene is about to move offscreen:
function scene:exitScene(event)
local group = self.view
end
-- Called AFTER scene has finished moving offscreen:
function scene:didExitScene(event)
local group = self.view
end
function finalizar()
Runtime:removeEventListener("touch", primerTouch)
Runtime:removeEventListener("touch", touch)
imagenINTRU:removeSelf()
imagenINTRU=nil;
end
-- Called prior to the removal of scene's "view" (display view)
function scene:destroyScene(event)
local group = self.view
end
-- Called if/when overlay scene is displayed via storyboard.showOverlay()
function scene:overlayBegan(event)
local group = self.view
local overlay_name = event.sceneName -- name of the overlay scene
end
-- Called if/when overlay scene is hidden/removed via storyboard.hideOverlay()
function scene:overlayEnded(event)
local group = self.view
local overlay_name = event.sceneName -- name of the overlay scene
end
function img()
imagenINTRU:removeSelf();
imagenINTRU = null;
imagenINTRU = display.newImage("test2/backGprueba.png", 0, 0, true);
imagenINTRU:scale(display.contentWidth/imagenINTRU.contentWidth+0.15, display.contentHeight/imagenINTRU.contentHeight+0.1);
imagenINTRU.x= display.contentWidth/2;
imagenINTRU.y= display.contentHeight/2+80;
imagenINTRU:toBack();
end
function primerTouch(event)
if ((event.phase == "ended" or event.phase == "cancelled") and not empezoTest) then
empezoTest = true
img()
timer.performWithDelay(tiempo, CambiarAlpha)
end
end
function CambiarAlpha()
if empezoTest then
if msjeVisible()==false then
if esTransparente then
print(contadorSecuencia.." turno")
if contadorSecuencia == 16 then
--if contadorSecuencia == 3 then
if tablaSecuencia[contadorSecuencia] == 1 and not estaRespondido then
no_msj()
print("OmisionA")
mensajeB.isVisible=true;
timer.performWithDelay(1600, delayB)
--omisiones = omisiones + 1
end
contadorSecuencia = 0
storyboard.purgeScene("ini_prueba2")
storyboard.removeScene("ini_prueba2")
storyboard.removeAll("ini_prueba2")
storyboard.gotoScene("ini_prueba2", "fade", 1500)
empezoTest=false;
finalizar()
else
delay=false;
--contadorSecuencia = contadorSecuencia - 1
if tablaSecuencia[contadorSecuencia] == 1 and not estaRespondido then
print("Omisionb")
no_msj()
mensajeB.isVisible=true;
timer.performWithDelay(1600, delayB)
delay=true;
end
if delay==false then
contadorSecuencia = contadorSecuencia + 1
if tablaSecuencia[contadorSecuencia] == 0 then
imagenP.isVisible=true;
else
imagenC.isVisible=true;
end
esTransparente = false
circulo.alpha = 1
--estaRespondido = false
tiempo = tiempoVisible
print("tmpo no visi ."..tiempo)
timer.performWithDelay(tiempo, CambiarAlpha)
--end
else -- if 199
contadorSecuencia = contadorSecuencia + 1
end -- end delay
end
else-- else transparente 177
esTransparente = true
circulo.alpha = 0
no_TPC()
tiempo = tiempoNoVisible
estaRespondido = false
timer.performWithDelay(tiempo, CambiarAlpha)
--tiempo = tiempoNoVisible
--estaRespondido = false
--timer.performWithDelay(tiempo, CambiarAlpha)
end
else
tiempo = tiempoNoVisible
timer.performWithDelay(tiempo, CambiarAlpha)
end --if mensaje visible
end --if empezoTest
end
function msjeVisible()
is=false;
if mensajeA.isVisible==true then
is= true;
end
if mensajeB.isVisible==true then
is= true;
end
if mensajeC.isVisible==true then
is= true;
end
return is;
end
function no_TPC()
imagenP.isVisible=false;
imagenC.isVisible=false;
end
function no_msj()
mensajeA.isVisible=false;
mensajeB.isVisible=false;
mensajeC.isVisible=false;
end
function no_msj2()
mensajeA.isVisible=false;
mensajeB.isVisible=false;
mensajeC.isVisible=false;
end
function delayA(event)
if mensajeA.isVisible then
mensajeA.isVisible=false;
tiempo = 100--tiempoNoVisible
--timer.performWithDelay(tiempo, CambiarAlpha)
print("A")
end
end
function delayB(event)
if mensajeB.isVisible then
mensajeB.isVisible=false;
tiempo = 100--tiempoNoVisible
timer.performWithDelay(tiempo, CambiarAlpha)
print("B")
end
end
function delayC(event)
if mensajeC.isVisible then
mensajeC.isVisible=false;
tiempo = 100--tiempoNoVisible
--timer.performWithDelay(tiempo, CambiarAlpha)
print("C")
end
end
function touch(event)
if event.phase == "began" and empezoTest then
if tablaSecuencia[contadorSecuencia] == 1 and not estaRespondido then
no_msj2()
mensajeA.isVisible=true;
timer.performWithDelay(1600, delayA)
aciertos = aciertos + 1
estaRespondido = true
elseif tablaSecuencia[contadorSecuencia] == 0 and not estaRespondido then
no_msj2()
mensajeC.isVisible=true;
timer.performWithDelay(1600, delayC)
comisiones = comisiones + 1
estaRespondido = true
end
end
end
--timer.performWithDelay(tiempo, CambiarAlpha)
Runtime:addEventListener("touch", touch)
---------------------------------------------------------------------------------
-- END OF YOUR IMPLEMENTATION
---------------------------------------------------------------------------------
Runtime:addEventListener("touch", primerTouch)
-- "createScene" event is dispatched if scene's view does not exist
scene:addEventListener("createScene", scene)
-- "willEnterScene" event is dispatched before scene transition begins
scene:addEventListener("willEnterScene", scene)
-- "enterScene" event is dispatched whenever scene transition has finished
scene:addEventListener("enterScene", scene)
-- "exitScene" event is dispatched before next scene's transition begins
scene:addEventListener("exitScene", scene)
-- "didExitScene" event is dispatched after scene has finished transitioning out
scene:addEventListener("didExitScene", scene)
-- "destroyScene" event is dispatched before view is unloaded, which can be
-- automatically unloaded in low memory situations, or explicitly via a call to
-- storyboard.purgeScene() or storyboard.removeScene().
scene:addEventListener("destroyScene", scene)
-- "overlayBegan" event is dispatched when an overlay scene is shown
scene:addEventListener("overlayBegan", scene)
-- "overlayEnded" event is dispatched when an overlay scene is hidden/removed
scene:addEventListener("overlayEnded", scene)
---------------------------------------------------------------------------------
return scene
스토리 보드는 코로나에서 더 이상 지원되지 않습니다. 이와 같이 긴 코드를 조작하려고하면 상당히 진보해야합니다. 작곡가 – Amir
사용해 주셔서 감사합니다 amir, 나는 그것을했고 작곡가로 모든 코드를 마이 그 레이션하고 그것은 효과. – RedPanda
걱정할 필요가 없습니다. 나는 그 때 점을 얻을 수있다 :) – Amir