Corona中文站

强大、易学的跨平台(iOS/Android)开发框架。QQ群1:74390406(满) 群2:221929599

导航

如何在Corona中实现拖拽物体

在用Corona进行游戏或者应用开发中,经常会用到拖拽物品的功能,但是官方的示例中并没有说的很清楚。今天,我要告诉你如何在Corona里实现基本的拖拽,你会发现,其实它非常简单。

逻辑解释:

用户开始触摸时又称began触摸事件阶段,您必须存储对象的当前位置然后,在“move”事件阶段,你事件的当前位置event.xevent.y减去事件的开始位置event.xStartevent.yStart添加到对象的存储位置最后,你计算的位置来改变对象的当前位置那就是用户的手指来移动对象

听起来拗口下面是相关代码

-- create object
local myObject = display.newRect( 0, 0, 100, 100 )
myObject:setFillColor( 255 )
 
-- touch listener function
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 -- move object based on calculations above
    end
    
    return true
end
 
-- make 'myObject' listen for touch events
myObject:addEventListener( "touch", myObject )
 
就是这样这就是Corona中拖动对象的全部尽管本教程有点,它的用处是无限的我发现在许多不同的项目使用了相同的代码,所以在这里共享

<< 苹果10月4号举行媒体发布会 iPhone5即将上市每周之星【2011.9.25】 - Sheep Guardian >>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 Copyright 2011-2015 BuildApp.Net. All Rights Reserved.