НОВОЕ СООБЩЕНИЕ - РЕШЕНИЕ, КОТОРОЕ Я ЗАКОНЧИЛ ПРИМЕНЕНИЕ
Это то, что я использовал для загрузки внешнего изображения в мувиклип и перетаскивания.Часть обратной связи во многом совпадает со старым кодом.
var holdermc_Arr:Array = new Array(4);
for(var i:uint = 0; i < holdermc_Arr.length; i++)
{
holdermc_Arr[i] = this["panel" + (i+1) + "_mc"];
var myLoader:Loader = new Loader();
var fileRequest:URLRequest = new URLRequest("images/" + (i+1) + ".jpg");
myLoader.load(fileRequest);
holdermc_Arr[i].addChild(myLoader);
holdermc_Arr[i].addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
holdermc_Arr[i].addEventListener(MouseEvent.MOUSE_UP, dropIt);
holdermc_Arr[i].buttonMode = true;
}
var startX:Number;
var startY:Number;
var counter:Number = 0;
function pickUp(event:MouseEvent):void {
startX = event.currentTarget.x;
startY = event.currentTarget.y;
setChildIndex(MovieClip(event.currentTarget),numChildren-1);
event.currentTarget.startDrag();
reply_txt.text = "";
}
СТАРЫЕ СООБЩЕНИЯ BELLOW
Это моя последняя попытка с текущей ошибкой, которую я получаю.
Я действительно хотел бы поработать с кодом моей предыдущей попытки, потому что мне проще добавить несколько перетаскиваемых фрагментов фильмов.
Но какой бы ни был код, основная проблема заключается в том, чтоЯ не настраиваю свойство правильно для "Загрузчика".
Сообщите, нужна ли ссылка на пример.
Ошибка заключается в следующем:
ReferenceError: Ошибка # 1069: свойство dropTarget не найдено вflash.display.Loader и нет значения по умолчанию.at cs5test_fla :: MainTimeline / ReleaseToDrop ()
Код следующий
var myLoader:Loader = new Loader();
panel1_mc.addChild(myLoader);
var url:URLRequest = new URLRequest("uploadedImages/photo_1.jpeg");
myLoader.load(url);
var startX:Number;
var startY:Number;
var counter:Number = 0;
panel1_mc.addEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag);
function ClickToDrag(event:MouseEvent):void
{
panel1_mc.startDrag();
startX = event.target.x;
startY = event.target.y;
reply_txt.text = "";
event.target.parent.addChild(event.target);
}
stage.addEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop);
function ReleaseToDrop(event:MouseEvent):void
{
panel1_mc.stopDrag();
var myTargetName:String = "target" + event.target.name;
var myTarget:DisplayObject = getChildByName(myTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
reply_txt.text = "Good Job!";
event.target.x = myTarget.x;
event.target.y = myTarget.y;
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag);
event.target.removeEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop);
event.target.buttonMode = false;
counter++;
} else {
reply_txt.text = "Try Again!";
event.target.x = startX;
event.target.y = startY;
}
if(counter == 1){
reply_txt.text = "Congrats, you're finished!";
}
}
СТАРЫЕ СООБЩЕНИЯ НИЖЕ
Я все еще борюсь.
Я новичок во всем этом, поэтому я действительно стараюсь изо всех сил, чтобы понять это.
Код ActionScript, с которым я пытаюсь работать, находится полностью внизу.
Я был бы очень признателен, если бы кто-нибудь попытался взглянуть на этот код и сказать мне, как я могу загрузить внешние изображения в каждый перетаскиваемый фрагмент ролика, не получив следующую ошибку.
ReferenceError: Ошибка # 1069: свойство startDrag не найдено на flash.display.Loader и значение по умолчанию отсутствует.at dragdropDilema_fla :: MainTimeline / pickUp () ReferenceError: Ошибка # 1069: свойство stopDrag не найдено в flash.display.Loader и значение по умолчанию отсутствует.at dragdropDilema_fla :: MainTimeline / dropIt ()
Я пытался использовать простой загрузчик var, но для того, что я вижу в ошибке, я должен настроить свойство startDrag для работы с загруженным изображениема не с перетаскиваемыми клипами, которые сейчас есть на месте ??
Я подумал, что было бы просто, если бы я использовал следующее для каждого:
var myLoader:Loader = new Loader();
imageHolder.addChild(myLoader);
var url:URLRequest = new URLRequest("uploadedImages/photo_1.jpeg");
myLoader.load(url);
, а затем сделал бы что-то вроде:
square_mc.imageHolder.addChild(myLoader);
но когда яв любом случае, когда я нажимаю на изображение, я получаю сообщение об ошибке.
Вот весь код: он должен рассчитывать, когда объект достигает цели, и выдает сообщение на всем протяжении и в конце.
panel1_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
panel1_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
panel1_mc.buttonMode = true;
var startX:Number;
var startY:Number;
var counter:Number = 0;
function pickUp(event:MouseEvent):void {
startX = event.target.x;
startY = event.target.y;
event.target.startDrag(true);
reply_txt.text = "";
event.target.parent.addChild(event.target);
}
function dropIt(event:MouseEvent):void {
event.target.stopDrag();
var myTargetName:String = "target" + event.target.name;
var myTarget:DisplayObject = getChildByName(myTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
reply_txt.text = "Good Job!";
event.target.x = myTarget.x;
event.target.y = myTarget.y;
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickUp);
event.target.removeEventListener(MouseEvent.MOUSE_UP, dropIt);
event.target.buttonMode = false;
counter++;
} else {
reply_txt.text = "Try Again!";
event.target.x = startX;
event.target.y = startY;
}
if(counter == 1){
reply_txt.text = "Congrats, you're finished!";
}
}
Спасибо.