【问题标题】:Having an id for images in Lua (Corona SDK)在 Lua (Corona SDK) 中拥有图像的 id
【发布时间】:2013-06-10 07:42:07
【问题描述】:

我正在尝试在 Lua 中制作类似于糖果迷恋的游戏。代码如下:

local images = {
    "images/beer.png",
    "images/beef.png",
    "images/canned_food.png",
    "images/cup_ice_cream.png",
    "images/french_fries.png",
    "images/pepper.png"
}



local rowcount = 8
local colcount = 4

local blockWidth = display.contentWidth / (colcount*4)
local blockHeight = display.contentWidth / (rowcount*2)

local row
local col
local pan = 3
for row = 1, rowcount do
    for col = 1, colcount do
        local x = (col - 1) * blockWidth + pan
        local y = (row + 1) * blockHeight + pan
        local block = display.newImage(images[math.random(1, 6)], x, y)
        block:addEventListener("touch", blockTouch)
    end
end

我需要知道哪个图像在移动,以了解他们是否在新位置上连续 3 个。

所以我的问题是,我怎样才能有一个 id 或一个标识符来知道用户在表中移动哪个图像?

感谢您的帮助

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    您必须将 ID 放入您创建的每个对象中,例如:

    local function getID(event)
       t = event.target
       print(t.id)
    end
    
    
    local beef = display.newImage("images/beef.png",)
    beef.id = "beef"
    
    local canned_food= display.newImage("images/canned_foods.png",)
    canned_food.id = "cannedfoods"
    
    local fries = display.newImage("images/fench_fries.png",)
    fries.id = "fries"
    
    beef:addEventListener("tap", getID())
    canned_food:addEventListener("tap", getID())
    fries:addEventLister("tap", getID())
    

    希望这会有所帮助:)

    【讨论】:

      【解决方案2】:

      我会将您的积木放入一个表格中以跟踪每个积木。但要回答您的具体问题,Lua 允许您向对象添加任何方法或属性,因此您可以这样做:

       block.name = "Beer"
       block.color = "Green"
       block.gobbldygook = 400
      

      然后在您的点击/触摸处理程序中,您的“event.target”是对象,因此您可以说:

       print(event.target.gobbldygook)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-03
        • 1970-01-01
        • 1970-01-01
        • 2013-06-04
        • 2012-05-08
        • 2015-01-17
        • 2014-01-28
        • 1970-01-01
        相关资源
        最近更新 更多