2015-03-17 1 views
1

Всякий раз, когда я добавляю код в свою игру, симулятор перестает отвечать. Я знаю его код while, который вызывает эту проблему, потому что, если я использую код while, игра работает так, как предполагалось. Что не так с моим кодом, и как я его исправить? Дайте мне знать, если вам нужна дополнительная информация для решения проблемы. Вот код:Почему мой код заставляет мой симулятор сбой?

function scene:createScene (event) 
local group = self.view 

local tap = display.newText("Tap:", 0, 0, "Helvetica", 36) 
tap.x = 100 
tap.y = screenTop + 20 
group:insert(tap) 

local imageFiles = {"redbox.png", "bluebox.png"} 
local imageFile = imageFiles[math.random(2)] 
local randomImage = display.newImage(imageFile, centerX, screenTop + 20) 

local button1 = display.newImage("redbox.png") 
button1.x = centerX 
button1.y = centerY 
group:insert(button1) 

local button2 = display.newImage("bluebox.png") 
button2.x = centerX 
button2.y = centerY - 100 
group:insert(button2) 

local function endGame(event) 
if imageFile == "redbox.png" then 
button1.x = math.random(55, 300) 
button1.y = math.random(55, 300) 
button2.x = math.random(55, 300) 
button2.y = math.random(55, 300) 
local imageFile = imageFiles[math.random(2)] 
local randomImage = display.newImage(imageFile, centerX, screenTop + 20) 
while imageFile == "redbox.png" do 
if imageFile ~= "redbox.png" then 
storyboard.gotoScene("restartEasy") 

end 
end 
end 
end 

local function endGame2(event) 
if imageFile == "bluebox.png" then 
button1.x = math.random(55, 300) 
button1.y = math.random(55, 300) 
button2.x = math.random(55, 300) 
button2.y = math.random(55, 300) 
local imageFile = imageFiles[math.random(2)] 
local randomImage = display.newImage(imageFile, centerX, screenTop + 20) 
while imageFile == "bluebox.png" do 
if imageFile ~= "bluebox.png" then 
storyboard.gotoScene("restartEasy") 

end 
end 
end 
end 

button1:addEventListener("tap", endGame) 
button2:addEventListener("tap", endGame2) 

end 

ответ

4

Я не знаю, почему вы используете while и if if без необходимости, попробуйте это, он должен работать.

local function endGame(event) 
    if imageFile == "redbox.png" then 
    button1.x = math.random(55, 300) 
    button1.y = math.random(55, 300) 
    button2.x = math.random(55, 300) 
    button2.y = math.random(55, 300) 
    local imageFile = imageFiles[math.random(2)] 
    local randomImage = display.newImage(imageFile, centerX, screenTop + 20) 

    else 
    storyboard.gotoScene("restartEasy") 

end 
end 
+0

Thanks Kumar! Причина, по которой я так усложнил это, заключалась в том, что я пытался объединить две функции вместе на случайном сгенерированном изображении, который появляется наверху ... любые идеи о том, как это сделать? –