【问题标题】:How to create, move and remove dynamic objects in corona sdk?如何在 corona sdk 中创建、移动和删除动态对象?
【发布时间】:2016-02-29 04:12:17
【问题描述】:

我最近开始使用 corona sdk 进行编程以制作一个简单的游戏。 我需要创建动态对象,当我将一些对象移出时,它会自行移除。我可以创建动态对象,但我无法处理每个对象的事件。

我想通过函数来​​完成。

这是我的一段代码,在最后一个函数 (myObject:touch) 中,我想将其更改为一个新函数,该函数不仅可以处理所有对象 myObject,因此我需要将对象名称作为参数发送到那个功能。 你能帮忙吗?

function create_obj(img,xpos,ypos)  
    myObject = display.newImage(img)
    myObject.x=xpos
    myObject.y=ypos
end

function move_out(obj)
    transition.to( obj, { time=2000, alpha=1, x=60, y=60, width=1 ,height=1, onComplete= remove_obj(obj) } )
end

function remove_obj(obj)    
    obj:removeSelf()
    obj=nil
end

--create 1st object
local img1="icon1.png"
create_obj(img1,50,50)

--create 2nd object
local img2="icon2.png"
create_obj(img2,100,100)

--create 3rd object
local img3="icon3.png"
create_obj(img3,150,150)

function myObject:touch( event )
    if event.phase == "began" then
        self.markX = self.x -- store x location of object
        self.markY = self.y -- store y location of object
    elseif event.phase == "moved" then
        local x = (event.x - event.xStart) + self.markX
        local y = (event.y - event.yStart) + self.markY
        self.x, self.y = x, y 
    elseif event.phase == "ended" or event.phase == "cancelled" then
        move_out(myObject)
    end
    return true 
end


   myObject:addEventListener( "touch", myObject )

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    我认为您在这里寻找的只是像这样更改 moveOut 中的过渡:

    function move_out(obj)
        transition.to( obj, { time=2000, alpha=1, x=60, y=60, width=1 ,height=1, onComplete=function() remove_obj(obj) end } )
    end
    

    【讨论】:

    • 非常感谢。这正是我想要的:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2011-12-04
    相关资源
    最近更新 更多