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

Bài 5: Sử dụng Timer và sự kiện enterFrame (Đếm ngược thời gian - Di chuyển ảnh)

Ngày đăng: 6/11/2012, 8:22:45PM | Lượt xem: 5,285
Hot!

 Bài này sẽ giúp chúng ta tạo ra bộ đếm thời gian ngược và di chuyển 1 bức ảnh.

 

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 ) 
-------------------------------------------------------------------------------- 
 --Đếm ngược thời gian 
 local time_ = 60; --s 
 local txt_time = display.newText( time_, 100, 10, nil, 50 ); 
 txt_time:setTextColor ( 0, 0, 0 ) 
 txt_time.x = display.contentCenterX; 
 txt_time.y = display.contentCenterY; 
 local timer_countdown; 
  
 function countdown() 
     txt_time.text = time_; 
     time_ = time_ - 1; 
      
     if(time_ < 0) then 
         --Dừng khi giá trị time = 0 
         timer.cancel( timer_countdown ) 
         --Khi time = 0 ta sẽ không di chuyển Image nữa 
         Runtime:removeEventListener( "enterFrame", move_iamge ) 
         end 
 end 
  
 --Gọi timer để chạy thời gian đếm ngược 
 --Tham số:  
 local delay = 1000; --milis: tương ứng 1s gọi 1 lần 
 local loop = -1;--Cho phép lặp vô tận 
  
 timer_countdown = timer.performWithDelay( delay, countdown , loop); 
  
 ------------------------------------------------------------------------------- 
 --Ta định nghĩa thêm 1 function khác cho phép di chuyển hình ảnh qua bên trái 
 -- gặp biên ta sẽ cho nó di chuyển sang bên phải và lặp đi lặp lại 
 local image = display.newImage( "image.png" ) 
 image.x = display.contentCenterX 
 image.y = display.contentCenterY + 100 
  
 local speed = 5; 
  
 function move_iamge() 
     --Mặc định là dịch chuyển sang phải 
     image.x = image.x + speed;--mỗi lần dịch chuyển ta tăng 2px 
      
     --Kiểm tra nếu đến biên thì ta đổi hướng ngược lại 
     if(image.x + image.contentWidth/2 > display.contentWidth  or  image.x - image.contentWidth/2 < 0)then 
         speed = -speed; 
         end 
     end 
--Gọi enterFrame: tốc độ này mặc định được fix là 30fps <=> 30 khung hình / s 
Runtime:addEventListener( "enterFrame", move_iamge )  

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.