1.Buat sebuah new Flash ActionScript 3 (500x300).
2.Gambar sebuah kotak 37x37 dengan border 3px.
3.Convert kotak tersebut ke movie clip. Beri nama kotak, registration pointnya di tengah.
4.Kemudian linkage kotak tersebut ke class name "MyBox".
5.Kemudian hapus kotak tersebut dari stage.
6.Kita perlu membuat sebuah ActionScript file. Jadi, buatlah sebuah new ActionScript file dan masukan kode dibawah ini.
------------------------------------------------------------------------------------
package {
import flash.display.MovieClip;
public class MyBox extends MovieClip {
public var xpos3D:Number = 0;
public var ypos3D:Number = 0;
public var zpos3D:Number = 0;
public var currentAngle:Number = 0;
public function MyBox() {
}
}
}
----------------------------------------------------------------------------------
7.Simpan flie tersebut dan namai "MyBox.as". Simpan bersama dengan file .fla nya.
8.Sekarang balik ke main movie. Kemudian pilih frame dan masukin kode dibawah ini.
----------------------------------------------------------------------------------
const MAXIMUM_Z:Number = 450;
const NUMBER_OF_BOXES:Number = 14;
var boxes:Array = new Array();
var focalLength:Number = 300;
var vanishingPointX:Number = stage.stageWidth / 2;
var vanishingPointY:Number = 20;
var floor:Number = 80;
var startingDepth:Number = MAXIMUM_Z;
var zDistance:Number = 50;
for (var i=0; i < NUMBER_OF_BOXES; i++) {
var box:MyBox = new MyBox();
box.xpos3D = 0;
box.ypos3D = floor;
box.zpos3D = startingDepth;
startingDepth -= zDistance;
var scaleRatio = focalLength/(focalLength + box.zpos3D);
box.scaleX=box.scaleY=scaleRatio;
box.x=vanishingPointX+box.xpos3D*scaleRatio;
box.y=vanishingPointY+box.ypos3D*scaleRatio;
boxes.push(box);
addChild(box);
}
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
function enterFrameHandler(e:Event):void {
for (var i=0; i < NUMBER_OF_BOXES; i++) {
var box:MyBox = (MyBox)(boxes[i]);
box.zpos3D-=5;
if (box.zpos3D<=- focalLength) {
box.zpos3D=boxes[0].zpos3D+zDistance;
}
var scaleRatio = focalLength/(focalLength + box.zpos3D);
box.scaleX=box.scaleY=scaleRatio;
box.alpha=scaleRatio-0.5;
box.x=vanishingPointX+box.xpos3D*scaleRatio;
box.y=vanishingPointY+box.ypos3D*scaleRatio;
}
sortZ();
}
function sortZ():void {
boxes.sortOn("zpos3D", Array.NUMERIC | Array.DESCENDING);
for (var i:uint = 0; i < NUMBER_OF_BOXES; i++) {
setChildIndex(boxes[i], i);
}
}
----------------------------------------------------------------------------------
9. Selamat Mencoba..!!! (tekan ctrl+enter)
BUYYYY
DONATE
Membuat 3D Boxes dengan ActionScript 3
Subscribe to:
Post Comments (Atom)
0 comments on "Membuat 3D Boxes dengan ActionScript 3"
Post a Comment