홈>
내가 찾고있는 것은 스테이지에서 객체를 드래그 할 때 기본 객체 (동일한 레이어)를 드래그하고 기본 객체가 배치 된 위치를 유지하고 싶습니다. 다중 객체 상황에서 배열을 사용해야합니까?
이것은 하나의 객체 (및 '하위 객체')에 대한 것입니다. 이들 중 총 22 개가 있습니다. 여기서 하위 객체를 영화 클립에 추가 할 수는 없습니다. 그렇지 않으면 무대의 다른 21 개 객체가 겹치고 서로 간섭합니다.
이것은 지금까지 내가 가지고있는 것입니다. 그림도 참조하십시오. 누구든지 유용한 코드로 나를 안내 할 수 있습니까?
CF.addEventListener(MouseEvent.MOUSE_DOWN, dragCF);
CF.addEventListener(MouseEvent.MOUSE_OVER, fadeCF_spaceIN);
CF.addEventListener(MouseEvent.MOUSE_UP, fadeCF_spaceIN);
function dragCF(evt:MouseEvent):void {
addChild(MovieClip(evt.currentTarget));
evt.currentTarget.startDrag();
stage.addEventListener(MouseEvent.MOUSE_UP, dropCF); }
function dropCF(evt:MouseEvent):void {
stopDrag();
stage.removeEventListener(MouseEvent.MOUSE_UP, dropCF); }
function fadeCF_spaceIN(evt:MouseEvent):void {
CF_space.alpha = .5;
stage.addEventListener(MouseEvent.MOUSE_OUT, fadeCF_spaceOUT);
stage.addEventListener(MouseEvent.MOUSE_DOWN, fadeCF_spaceOUT); }
function fadeCF_spaceOUT(evt:MouseEvent):void {
CF_space.alpha = 0;
stage.removeEventListener(MouseEvent.MOUSE_OUT, fadeCF_spaceOUT); }
예 예시 :
-
답변 # 1
-
답변 # 2
무엇을 의미하는지 100 % 확신 할 수 없지만 startDrag 및 stopDrag 대신 ENTER_FRAME 함수를 사용할 수 있습니까? 다음은 객체 배열과 함께 사용할 수있는 최소한의 예입니다.
var xDifference:Number; var yDifference:Number; var dragging:Boolean; draggableObject.addEventListener(MouseEvent.MOUSE_DOWN, mDown); draggableObject.addEventListener(MouseEvent.MOUSE_UP, mUp); stage.addEventListener(Event.ENTER_FRAME, loop); function loop(evt:Event):void{ if(dragging){ draggableObject.x = mouseX; draggableObject.y = mouseY; secondaryObject.x = draggableObject.x + xDifference; secondaryObject.y = draggableObject.y + yDifference; } } function mDown(evt:MouseEvent):void{ xDifference = secondaryObject.x - draggableObject.x; yDifference = secondaryObject.y - draggableObject.y; dragging = true; } function mUp(evt:MouseEvent):void{ dragging = false; }
경우에 따라 마우스 커서와 MOUSE_DOWN의 draggableObject 등록 포인트 사이의 차이를 계산하여 draggableObject가 중심점이 정확히 마우스 위치에있는 위치로 점프하는 것을 방지 할 수 있습니다.
-
답변 # 3
감사합니다 귀하의 추가 사항 및 실제로는 훨씬 더 단순하고 너무 단순하다는 것이 입증되었습니다.
object.addEventListener(MouseEvent.MOUSE_DOWN, drag); object.addEventListener(MouseEvent.MOUSE_UP, drop); function drag(evt:MouseEvent):void { addChild(MovieClip(evt.currentTarget)); evt.currentTarget.startDrag(); } function drop(evt:MouseEvent):void { stopDrag(); object_space.x = object.x; object_space.y = object.y; }
관련 자료
- java - 스트림에서 여러 목록을 하나의 객체 목록으로 병합 하시겠습니까?
- python - 클래스에 할당 할 동적 개체 이름을 만드는 방법은 무엇입니까?/Tkinter가 다른 개체 이름으로 여러 창을 만드는 방법
- c++ - 여러 개체를 그리는 OpenGL 올바른 방법?
- C# - 씨# - 객체 목록을 객체 속성의 여러 배열로 변환
- javascript - 여러 키와 값으로 객체 배열 채우기
- java - 여러 배열로 객체 생성
- javascript - JSON 파일에서 여러 개체 그룹을 볼 수 있습니까?
- javascript - for 루프에서 각주기마다 여러 개체 설정
- Python에서 여러 객체로 요청을 POST하는 방법
- PHP에서 여러 JSON 객체를 추출하고 배열하려면 어떻게해야합니까?
- javascript - 여러 기준으로 객체 배열 정렬
- salesforce - ID를 기반으로 여러 관련 개체를 탐색하고 관련 필드를 반환하려면 어떻게해야합니까?
- javascript - 객체 배열에 여러 객체가 포함되어 있는지 확인
- javascript - 배열에있는 여러 개체의 합계 및 평균 값을 하나의 배열로 만듭니다
- python - 카드의 너비와 높이 또는 색상을 사용하여 여러 개체가있는 이미지에서 카드 감지 및 자르기
- javascript - 개체의 여러 값을 사용하여 개체 배열 필터링
- javascript - 객체 내부의 여러 배열을 단일 배열로 병합
- ramda.js - 람다 - 여러 개체에서 하나의 배열 가져 오기
- python - 단일 파일에서 여러 JSON 객체를 읽는 방법은 무엇입니까?
- sorting - 객체를 비교하기 위해 선택한 필드가 같을 때 Java는 여러 필드가있는 객체 목록을 정렬하기로 결정합니까?
관련 질문
- actionscript 3 - Action Script 30의 TXT 파일에서 코드로드
- android - AsyncTask도 플래시에 있습니까?
- php - 다음과 같은 코드를 사용하여 AS3으로 어떻게 마이그레이션 할 수 있습니까? "l = new LoadVars ();"
- javascript - 플래시 파일을 HTML로 변환
- actionscript 3 - AS3에서 다른 드래그 가능한 객체의 경계로 영화 클립을 사용하는 방법은 무엇입니까?
- actionscript 3 - 첫 번째 질문! NPC 걷기주기 랜덤 라이저가 의도 한대로 작동하지만 (경계 조정이 필요함) 중첩 된 걷기 애니메이션을 재생하지 않습니까? (AS3)
- actionscript 3 - 전역 좌표를 제공하지 않을 때 localToGlobal을 수정하는 방법은 무엇입니까?
- c# - 클라이언트 플래시 (SWF)는 서버 측 NET과 어떻게 통신해야합니까?
- ios - Adobe Animate에서 누락 된 수출 규정 준수 ITSAppUsesNonExemptEncryption False
- flash - Actionscript 30에서 핀치 줌으로 타임 라인 제어