2013-06-06 2 views
2

루아에서 캔디 크러쉬와 비슷한 게임을 만들려고합니다. 코드는 다음과 같습니다.루아 (코로나 SDK)의 이미지에 대한 ID가 있음

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 또는 식별자를 어떻게 가질 수 있습니까? 당신의 도움에 대한

감사

답변

2

당신은 예를 들어 객체 생성 각 ID를 삽입해야합니다 :이 도움이 :)

1

나는 계속 테이블로 블록을 둘 것입니다

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()) 

희망을 각각의 트랙. 그러나 특정 질문에 대한 답을, 루아는 당신이 할 수 있도록, 객체에 어떤 방법을 추가하거나 속성 할 수 있습니다 :

그런 다음 탭/터치 핸들러
block.name = "Beer" 
block.color = "Green" 
block.gobbldygook = 400 

, 당신의 "event.target은"개체입니다, 그래서 당신은 말할 수 있습니다 :

print(event.target.gobbldygook) 
관련 문제