Туздыра алмассың!

 


http://www.razani.tu2.ru/

Туздыра алмассың!


 

Бу дәрес - Actionscript 3.0 дәресе. Без рәсемне серверга урнаштырырбыз, аны кисәкләргә бүлеп, кисәкләрен анимацияләрбез. Adobe Flash CS4 Professional программасын ачып куегыз, эшкә тотыныйк.


Искәрмә: Сезгә бу дәресне башкарып чыгу өчен  TweenLite программасы кирәк булыр. Аны куллану авыр түгел, программаны Интернеттан архив рәвешендә алып, аны сезнең *.fla файлы урнашачак папкага ачыгыз.

1. Файдаланырга уйлаган рәсемегезне библиотекага кертегез:




Сцена үлчәмнәрен рәсем үлчәмнәре белән тәңгәл китерегез.



2. Муви клибыгызның беренче фреймына түбәндәге кодны кертегез (Беренче фреймга чирттереп аны активлаштырырга, аннары F9 га басарга):





//TweenLite ны импортлыйбыз
import gs.*;
import gs.easing.*;

//Рәсем кисәгенең киңлеге һәм биеклеге
const IMAGE_PIECE_WIDTH:uint = 20;
const IMAGE_PIECE_HEIGHT:uint = 13;


var imagePieces:Number = 0;


//"URLRequest" өчен рәсемгә юл күрсәтәбез.
var imageLoader:Loader = new Loader();
imageLoader.load(new URLRequest("сезнең_рәсемгә_path"));
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);

function completeHandler(event:Event):void {

var imageTextureMap:BitmapData = event.target.content.bitmapData;

var columns:Number = Math.ceil(imageTextureMap.width / IMAGE_PIECE_WIDTH);
var rows:Number = Math.ceil(imageTextureMap.height / IMAGE_PIECE_HEIGHT);

for (var i = 0; i < columns; i++) {

 for (var j = 0; j < rows; j++) {

  var imagePieceHolder:MovieClip = new MovieClip();

    var imagePiece:Bitmap = new Bitmap();
  imagePiece.bitmapData = new BitmapData(IMAGE_PIECE_WIDTH,IMAGE_PIECE_HEIGHT);

    imagePiece.bitmapData.copyPixels(imageTextureMap,
    new Rectangle(i * IMAGE_PIECE_WIDTH, j * IMAGE_PIECE_HEIGHT,
  IMAGE_PIECE_WIDTH, IMAGE_PIECE_HEIGHT),
    new Point(1,1));

    imagePieceHolder.addChild(imagePiece);

   imagePieceHolder.x = i * IMAGE_PIECE_WIDTH;
  imagePieceHolder.y = j * IMAGE_PIECE_HEIGHT;

   imagePieceHolder.origX = imagePieceHolder.x;
  imagePieceHolder.origY = imagePieceHolder.y;

   imagePieceHolder.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

   addChild(imagePieceHolder);

  imagePieces++;
 }
}
}
function mouseOverHandler(e:Event):void {

var imagePieceHolder = (MovieClip)(e.target);

var randomX = Math.random() * 1000 - 500;
var randomY = Math.random() * 1000 - 500;
var targetX = imagePieceHolder.x + randomX;
var targetY = imagePieceHolder.y + randomY;

TweenLite.to(imagePieceHolder, 1, {x:targetX, y:targetY, onComplete:outTweenFinished, onCompleteParams:[imagePieceHolder]});

setChildIndex(imagePieceHolder,imagePieces - 1);

imagePieceHolder.removeEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
}

function outTweenFinished(imagePieceHolder:MovieClip):void {

var origX = imagePieceHolder.origX;
var origY = imagePieceHolder.origY;

TweenLite.to(imagePieceHolder, 1, {x:origX, y:origY, onComplete:inTweenFinished, onCompleteParams:[imagePieceHolder]});
}

function inTweenFinished(imagePieceHolder:MovieClip):void {

imagePieceHolder.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

}


Бетте, мувигыгызны җибәреп карагыз! (Ctrl+Enter)
Чыганак:

http://www.razani.tu2.ru/
Hosted by uCoz