如何有选择地让多个移动物体旋转?

时间:2014-03-28 17:31:15

标签: lua corona

我是新的日冕,我正在尝试让多个物体移动,并有选择地让它们一次旋转一个。我应该可以通过点击它来选择任何一个对象,然后通过单击一个按钮,它应该旋转X度(每次点击)。我有以下代码用于一个对象。但坚持获得多个移动物体的设置。如果它是基本的,我道歉。

local Button = display.newRect(200,200, 10, 40)
local obj = display.newRect(50,50, 10, 40)
local SPEED = 1
local function move(event)

    obj.x = obj.x + math.cos(math.rad(obj.rotation)) * SPEED
    obj.y = obj.y + math.sin(math.rad(obj.rotation)) * SPEED

end

local function rotate(event)
    obj.rotation = obj.rotation + 45
end

Runtime:addEventListener("enterFrame", move)
Button:addEventListener("tap", rotate)

1 个答案:

答案 0 :(得分:0)

只需更新代码即可拥有“已选中”对象,如下所示:

local selectedObject = nil
local Button = display.newRect(200,200, 10, 40)
local obj = display.newRect(50,50, 10, 40)
local SPEED = 1

local function select(event)
    selectedObject = event.target
end

local function move(event)

    obj.x = obj.x + math.cos(math.rad(obj.rotation)) * SPEED
    obj.y = obj.y + math.sin(math.rad(obj.rotation)) * SPEED

end

local function rotate(event)
    if selectedObject then
        selectedObject.rotation = selectedObject.rotation + 45
    end
end

obj:addEventListener("tap", select)
Runtime:addEventListener("enterFrame", move)
Button:addEventListener("tap", rotate)