1
我正在嘗試爲孩子們創建一個遊戲,在那裏他們可以將字母拖到舞臺上以製作單詞。AS3對象框和重置按鈕
我想添加一個'垃圾桶',用戶可以拖動他們不再需要處理的信件。我創建了影片剪輯,但我完全不確定如何使用AS3使其功能。
我還想添加一個重置按鈕,以便舞臺恢復到原來的狀態。再次,我已經畫出了它,並添加了我知道的小小as3(做一個按鈕),但如果任何人都可以協助如何真正做到這一點,我將不勝感激。
import flash.display.MovieClip;
for (var i=1; i<27; i++)
{
this["object" + i].addEventListener(MouseEvent.MOUSE_DOWN, onStart);
this["object" + i].addEventListener(MouseEvent.MOUSE_UP, onStop);
}
var sx = 0,sy = 0;
function onStart(e)
{
sx = e.currentTarget.x;
sy = e.currentTarget.y;
e.currentTarget.startDrag();
}
function onStop(e)
{
if (e.target.dropTarget != null &&
e.target.dropTarget.parent == dest &&
e.currentTarget.name != "copy")
{
var objectClass:Class =
getDefinitionByName(getQualifiedClassName(e.currentTarget)) as Class;
var copy:MovieClip = new objectClass();
copy.name = "copy";
this.addChild(copy);
copy.x = e.currentTarget.x;
copy.y = e.currentTarget.y;
e.currentTarget.x = sx;
e.currentTarget.y = sy;
copy.addEventListener(MouseEvent.MOUSE_DOWN, onStart);
copy.addEventListener(MouseEvent.MOUSE_UP, onStop);
}
e.currentTarget.stopDrag();
}
resetButton.addEventListener(MouseEvent.CLICK, reset);
resetButton.buttonMode = true;
function reset(event:MouseEvent):void
{
//Not sure what AS3 to add here to reset to original state
}
再次感謝Rajneesh。我不明白如何編寫動作腳本,這就是爲什麼我發佈了一個新問題(我試圖實現你上次給我的代碼但不成功)。 我已經剪切並粘貼了您提供的代碼並且它可以正常工作,但是控制檯向我發送了消息''ReferenceError:Error#1074:非法寫入flash.events.MouseEvent上的只讀屬性currentTarget在wordwork_fla :: MainTimeline/onStop()「。」你知道我做錯了嗎? – James
我已更新最後一行。 –
現在它根本不起作用 - 我得到錯誤:「場景1,圖層'操作',第1幀,第47行1105:賦值目標必須是參考值。」# – James