Thứ tư, ngày 7 tháng 12 năm 2016

Bài 4: Move đối tượng (Drag Object) - Corona Labs

Ngày đăng: 3/11/2012, 9:12:40PM | Lượt xem: 3,755
Hot!

 Nội dung bài này đơn giản là hiện thị 1 bức ảnh, sau đó ta có thể touch rồi di chuyển đến vị trí mà ta muốn. Cốt lõi phần này sẽ là hàm startDrag(). Hàm này có thể dùng cho tất cả các đối tượng khi muốn Drag chỉ cần gọi ra và dùng thôi.

 Code demo:

CiderRunMode = {};CiderRunMode.runmode = true;CiderRunMode.assertImage = true;require "CiderDebugger";-------------------------------------------------------------------------------- 
--Tạo màu nền màu trắng bằng cách dùng một hình chữ nhật 
local rect = display.newRect(0, 0, display.contentWidth, display.contentHeight ) 

--Hiện thị ảnh ở giữa màn hình 
local image = display.newImage( "image.png" ) 
image.x = display.contentCenterX 
image.y = display.contentCenterY 
-------------------------------------------------------------------------------- 
--Viết hàm để kéo đối tượng (Đối với dạng hàm này các bạn chỉ cần dùng mà không 
--cần viết lại) 
local function startDrag( event ) 
    local t = event.target 
    local phase = event.phase 
    --Bắt đầu khi chạm vào đối tượng 
    if "began" == phase then 
        display.getCurrentStage():setFocus( t ) 
        t.isFocus = true  
        t.x0 = event.x - t.x 
        t.y0 = event.y - t.y                 
        event.target.bodyType = "kinematic"              
        event.target.angularVelocity = 0  
    elseif t.isFocus then 
        --Di chuyển đối tượng 
        if "moved" == phase then 
            t.x = event.x - t.x0 
            t.y = event.y - t.y0  
        elseif "ended" == phase or "cancelled" == phase then 
            display.getCurrentStage():setFocus( nil ) 
            t.isFocus = false                         
            if ( not event.target.isPlatform ) then 
                event.target.bodyType = "dynamic" 
            end  
        end 
    end  
    return true 
end 
-------------------------------------------------------------------------------- 
--Gọi hàm startDrag để gắn vào đối tượng image 
 image:addEventListener( "touch", startDrag )

SourceCode

Nguồn Vietandroid.com
 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.