FLASH論壇-Flash之神魂顛倒Adobe Flash 大家園Flash教學/下載分享區Flash教學分享區 → Flash拖拽問題通用解決程式碼(含as2和as3)

MSDN 研討會資料下載 熱門租屋行情 網路行銷秘訣大公開 磷蝦油=比魚油更強 Microsoft Silverlight
減肥診所 雷射抽脂 ASP.NET完全攻略與快速上手 買墨水送神幣喔 貸款
近視雷射手術 電波拉皮 隆乳 胎毛筆 當鋪
投影機 生日禮物 借錢 調整型內衣 白蟻
氣球 眼袋 虛擬主機神魂特惠 大陸新娘 NCCU集中營
網頁設計 愛情城市 保險套 液晶電視

  共有1262人閱讀過本文章折疊列印

主題:Flash拖拽問題通用解決程式碼(含as2和as3)

帥哥喲,離線,有人找我嗎?
TWG
  1樓 個人化首頁 | QQ | 個人資料 | 搜尋 | EMAIL | 首頁 | |

加到: FunP 書籤加到: 黑米書籤加到: MyShare 書籤加到: 美味書籤加到: Furl  書籤加到: YaHoo 分享書籤加到: Google 書籤加到: UDN 書籤加到: Technorati 書籤



加好友 悄悄話 •神•魂•顛•倒•
等級:站長 文章:2626 經驗:25634 威望:7 精華:7 註冊:2002-4-12 15:57:00
Flash拖拽問題通用解決程式碼(含as2和as3)  發表心情 Post By:2008-5-19 0:57:00



Flash拖拽問題通用解決程式碼(含as2和as3)

點選開新視窗欣賞該FLASH動畫![全螢幕欣賞]
http://bbs.flash2u.com.tw/showimg.asp?BoardID=180&filename=2008-5/20085190553945997.swf

AS 2.0版本

 下載狀況  [檔案大小:   下載次數: ]
下載:normal_drag.fla


以下為《AS》原始碼
var target_array = [a_mc, b_mc, c_mc];  
var to_where_obj = {};
var initial_position_obj = {};

var destination_array = [x1_mc, x2_mc, x3_mc];
var is_occupied_obj = {};

for (var i = 0; i < target_array.length; i++) {
var _mc = target_array[i];
initial_position_obj[_mc._name] = {_x:_mc._x, _y:_mc._y};

_mc.onPress = function()
{
delete is_occupied_obj[to_where_obj[this._name]];
delete to_where_obj[this._name];
this.startDrag();
this.onMouseMove = function()
{
updateAfterEvent();
};
};
_mc.onRelease = _mc.onReleaseOutside = function ()
{
var is_hit;
for (var i = 0; i < destination_array.length; i++) {
var _mc = destination_array[i];
if (!is_occupied_obj[_mc._name] && this.hitTest(_mc)) {
is_occupied_obj[_mc._name] = this;
to_where_obj[this._name] = _mc._name;
this._x = _mc._x;
this._y = _mc._y;
is_hit = true;
}
}
if (!is_hit) {
this._x = initial_position_obj[this._name]._x;
this._y = initial_position_obj[this._name]._y;
}
stopDrag();
delete this.onMouseMove;

};
}


AS 3.0版本

以下為《AS》原始碼
var target_array:Array = [a_mc, b_mc, c_mc];  
var to_where_obj:Object = new Object();
var initial_position_obj:Object = new Object();

var destination_array:Array = [x1_mc, x2_mc, x3_mc];
var is_occupied_obj:Object = new Object();

for (var i:Number = 0; i < target_array.length; i++) {
var _mc = target_array[i];
initial_position_obj[_mc.name] = {x:_mc.x, y:_mc.y};
_mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
_mc.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
_mc.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}
function mouseDown(event:MouseEvent):void
{
var _mc = event.target;
delete is_occupied_obj[to_where_obj[_mc.name]];
delete to_where_obj[_mc.name];
_mc.startDrag();
}
function mouseReleased(event:MouseEvent):void
{
var is_hit:Boolean = false;
var des_mc:MovieClip = new MovieClip();
var tar_mc = event.target;
tar_mc.stopDrag();
for (var i:Number = 0; i < destination_array.length; i++) {
des_mc = destination_array[i];
if (!is_occupied_obj[des_mc.name] && tar_mc.hitTestObject(des_mc)) {
is_occupied_obj[des_mc.name] = tar_mc;
to_where_obj[tar_mc.name] = des_mc.name;
tar_mc.x = des_mc.x;
tar_mc.y = des_mc.y;
is_hit = true;
}
}
if (!is_hit) {
tar_mc.x = initial_position_obj[tar_mc.name].x;
tar_mc.y = initial_position_obj[tar_mc.name].y;
}
}
function mouseMoveHandler(event:MouseEvent):void
{
event.updateAfterEvent();
}



論壇開啟了防盜鏈,請點選瀏覽該FLASH檔案


網路的事情,讓網路解決

[ 逛網路就像是在探險 ]

    神 魂 顛 倒 T W G

http://bbs.flash2u.com.tw

http://tw.myblog.yahoo.com/flash2u-twg

http://flash-silverlight.blogspot.com/

http://flash2u.spaces.live.com/?_c02_owner=1
大陸新娘 支持(0中立(0反對(0回到頂部