如何将随机生成的图像用作玩家可用于确定要按哪个“角色”的工具?

时间:2015-03-10 04:56:00

标签: lua corona

在这个特定的代码中,我有3个框当前显示在屏幕上。屏幕中央的框是我想要作为角色处理的框。屏幕顶部的框随机生成其中一个字符的图像,在本例中为红色框或蓝色框。例如,如果在顶部选择了红色框作为随机生成的图像,我希望玩家点击将被视为角色的红色框。如果这个人由于顶部的方框而点击了正确的方框,我希望顶部的方框再次改变,因此在字符和顶部的方框之间创建一个循环。如果玩家点击错误的盒子,我会希望游戏结束。我做错了什么,更重要的是我该如何解决?这是我的代码:

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

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 randomize(event)
    if button2 == randomImage then
        (insert code here)
     end
end

local function generate(event)
    if button2 ~= imageFile then
        storyboard.gotoScene ("restartEasy")
    elseif button2 == imageFile then
        (insert code here)
    end
end

button1:addEventListener("tap", randomize)
button2:addEventListener("tap", generate)

2 个答案:

答案 0 :(得分:1)

if button2 ~= imageFile then
elseif button2 == imageFile then

您正在将图像与字符串进行比较。这永远不会奏效。但是现在让我们忽略它。

虽然我不熟悉Corona,但我相信randomImage永远不会与button1button2相等,因为它是一个单独的图像(具有独立的坐标和/或尺寸)。

我在第二次调用group:insert()后立即用以下行替换您的随机选择代码(前三行):

local one_or_two = math.random(2)

local endGameButton, shuffleButton

if one_or_two == 1 the
  endGameButton, shuffleButton = button1, button2
else
  endGameButton, shuffleButton = button2, button1
end

最后,我用以下内容替换您的两条addEventListener

shuffleButton:addEventListener("tap", randomize)
endGameButton:addEventListener("tap", generate)

然后我会从您的功能中移除所有条件(if buttonX == whatever),因为不再需要它们。

换句话说:每次点击某些内容(正如您现在所做的那样),而不是测试哪个按钮是随机按钮,我们会为每个按钮分配一个含义。

答案 1 :(得分:0)

好的,为了让顶部按钮与字符对应,我需要使用图像的png文件,而不是使用由这些png图像定义的变量。在这种情况下,而不是使用     如果button2 = randomimage 使用     if imageFile =" nameofimagefile.png"