script kamu di atas bisa dibuat dengan sederhana.
misalnya, semua x y objek dan target dimasukkan dalam array.
misalnya
PHP Code:
var targetX:Array = new Array();
var targetY:Array = new Array();
var objekX:Array = new Array();
var objekY:Array = new Array();
var jumlahPiece:Number = 4;
var depth:Number = 100;
function buildPiece() {
for (i=1; i<=jumlahPiece; i+=1) {
target=_root["tar"+i];
objek=_root["piece"+i];
targetX[i] = target._x;
targetY[i] = target._y;
objekX[i] = objek._x;
objekY[i] = objek._y;
}
}
buildPiece()
setelah kita punya xy objek dan target, drag and drop dicek dengan satu fungsi
PHP Code:
function cekPiece() {
for (i=1; i<=jumlahPiece; i+=1) {
var objek = _root["piece"+i];
var target = _root["tar"+i];
objek.id = i;
objek.onPress = function() {
_root.depth++;
startDrag(this);
this.swapDepths(depth);
}
objek.onRelease = function() {
stopDrag();
if (this.hitTest(target)) {
this._x = targetX[this.id];
this._y = targetY[this.id];
this.benar = true;
trace("hit")
} else {
this._x = objekX[this.id];
this._y = objekY[this.id];
this.benar = false;
trace("no hit")
}
}
}; // end for
}
fungsi cekPiece() dan evaluasi() sebelumnya dimasukkan dalam onEnterFrame, menjadi begini:
PHP Code:
this.onEnterFrame=function() {
cekPiece();
evaluasi();
elapsed_time = getTimer()-start_time;
_root.count.text = time_to_string(elapsed_time);
_root.count_down.text = time_to_string(_root.countdown-elapsed_time);
if (_root.countdown-elapsed_time <=0) {
delete this.onEnterFrame;
pesan.text = "times up"
pesan.textColor=0xFF0000;
}
}
hasilnya seperti ini >> http://nayzuko.com/flashfiles/contohpz.swf
untuk menerapkannya dg punya kamu,
ubah "piece1_mc.target1_btn"
menjadi "piece1.tar"
artinya, dalam mc "piece" kamu ada mc "tar". tidak masalah jika "tar" itu mc yang berbeda-beda.
dalam demo punya gw, piece itu cuma 1 mc yang dikasih warna berbeda
Bookmarks