Di chuột để load hình ảnh as3

In
Xem kết quả: / 53
Bình thườngTuyệt vời 

Nhiều bạn học as3 quá mà as3 thì khó viết tut thôi mình cứ thỉnh thoảng đưa 1 vài tut as3 nhé. 

Nguyên vật liệu cho bài tập này là 1 tấm ảnh, mình chọn tấm ảnh tập thể hình này cho nó máu :D

Ok, vậy là xong. Giờ chúng ta bắt đầu vào làm nhé:

Bước 1:

Tạo 1 tài liệu flash mới, Ctrl + N chọn loại Action Script 3.0 nhé, nhấn Ctrl + J để mở bảng thiết lập các thông số cơ bản của flash (bức ảnh bạn muốn làm với kích thước bao nhiêu thì chọn kích thước cho flash bấy nhiêu) mình để tốc độ frame là 24 FPS.

Bước 2:

Click chuột vào frame đầu tiên nhấn F9 chèn vào đoạn code sau:

 

import com.greensock.*;
 
const COLUMNS:uint=10;
const ROWS:uint=10;
 
var imagesGrid : Array = new Array();    
 
var imageLoader:Loader = new Loader();
imageLoader.load(new URLRequest("http://aloflash.com/images/flash/aloflash1.jpg"));
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
 
function onImageLoaded(e:Event):void {
 
var originalBitmapData:BitmapData = e.target.content.bitmapData;
 
var imageWidth : Number  = originalBitmapData.width / COLUMNS;
    var imageHeight : Number = originalBitmapData.height / ROWS;
 
for (var i = 0; i < COLUMNS; i++) {
 
for (var j = 0; j < ROWS; j++) {
 
var imageHolder:MovieClip = new MovieClip();
 
var image:Bitmap = new Bitmap();
image.bitmapData=new BitmapData(imageWidth,imageHeight);
  image.bitmapData.copyPixels(
originalBitmapData,
  new Rectangle(i * imageWidth, j * imageHeight,imageWidth, imageHeight),
  new Point(0,0));
 
imageHolder.addChild(image);
 
image.x = -imageWidth / 2;
image.y = -imageHeight / 2;
 
imageHolder.x= i*imageWidth + imageWidth/2;
imageHolder.y= j*imageHeight + imageHeight/2;
 
imageHolder.alpha=0;
imageHolder.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
 
   imagesGrid.push(imageHolder);
addChild(imageHolder);
}
}
}
 
function overHandler(e:MouseEvent):void {
var imageGrid = e.target as MovieClip;
  imageGrid.scaleX = imageGrid.scaleY = 0;
  TweenLite.to(imageGrid, .5, {alpha: 1,scaleX:1,scaleY:1});
  imageGrid.mouseEnabled = false;
  imageGrid.removeEventListener(MouseEvent.MOUSE_OVER, overHandler);
}

Trong đó:

import com.greensock.*; là đoạn code sẽ gọi những AS tạo sẵn trong thư mục com/greensosk. Download file gốc về bạn sẽ thấy nhớ đặt thư mục com cùng cấp với file flash nhé.

 

const COLUMNS:uint=10;   
const ROWS:uint=10;     Đây là số cột và số hàng sẽ bị flash cắt ra, như đoạn code này thì flash sẽ cắt bức ảnh của bạn thành 100 mảnh, bạn có thể tạo bao nhiêu mảnh thì thay đổi thông số ở số 10 nhé.
 
http://aloflash.com/images/flash/aloflash1.jpg là đường dẫn của ảnh bạn muốn làm hiệu ứng.
 
Bước 3:
 
Xong rồi. :D chỉ đơn giản vậy thôi, giờ bạn có thể nhấn Ctrl + Enter để xem kết quả của mình.
 
Chúc các bạn thành công.
 
aloflash.com

Download

Share