새 메시지 - 내가 끝낸 해결책AS3을 사용하여 드래그 앤 드롭 객체에 외부 이미지를로드하는 방법은 무엇입니까?
이것은 외부 이미지를 무비 클립에로드하고 끌어서 놓기 위해 사용했던 것입니다. 피드백 부분은 이전 코드와 거의 같습니다.
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 = "";
}
OLD 메시지 벨로
이 내가 점점 오전 현재 오류 내 최신 시도이다.
나에게 여러 개의 드래그 가능한 무비 클립을 추가하는 것이 더 쉽기 때문에 실제로 이전 코드의 코드로 작업하고 싶습니다.
하지만 코드 중 가장 근본적인 문제는 "로더"에 대해 올바르게 속성을 설정하지 않는다는 것입니다.
예에 대한 링크가 필요한지 알려주세요.
ReferenceError: Error #1069: Property dropTarget not found on flash.display.Loader and there is no default value. 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: Error #1069: Property startDrag not found on flash.display.Loader and there is no default value. at dragdropDilema_fla::MainTimeline/pickUp() ReferenceError: Error #1069: Property stopDrag not found on flash.display.Loader and there is no default value. 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!";
}
}
감사합니다.
안녕하세요 Antonio, 질문에 코드를 추가해주세요. 물론 관련 비트 만, 감사합니다. Rob – robertp
Rob. FLA에 대한 링크를 실험하고 있습니다. 액션 스크립트는 페이지 절반에 불과하며 205kb입니다. – antoniog447
도움을 끌기를 원하십니까? 이전에 게시 한 내용에서 오류가 발생했다는 메시지가 나타납니다. –