2014-01-15 6 views
0

기본 아이디어입니다. 무대 위에서 드래그 프로젝트에서 드래그하는 동안 플레이어가 보석을 끄집어 낼 수있는 보석 더미 (고정 사진/무비 클립)를 중앙 창으로 이동시킵니다. 저는 쥬얼 무비 클립을 갖고 싶습니다 - 스테이지 주위를 이동할 수있는 무한한 양의 자식 클립을 생성 할 수있는 jewel_mc이라고 부를 수 있습니다. 여기서 도움이 필요한 곳, 여기에서 어디로 가야합니까? - 나는 초심자 AS3이다.AS3 무비 클립 Spawner - startDrag 무비 클립이 무대에 표시됩니다.

기능 조정 - 플레이어가 jewels_mc 더미에서 "startdrag"를 클릭하면 마우스 커서에 작은 보석이 나타나고 플레이어가 풀면 보석이 마지막 위치에 드롭됩니다. 플레이어는 스택 보석 더미에서 드래그를 시작하는 한 원하는만큼 여러 번 할 수 있습니다.

너는 접시에 보석의 족집게를 벌리고있다!

감사합니다. 감사합니다. 내가 위의 스크립트를 짐작 한 다른 드래그 객체

jewel_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickuplittlejewel_mc); 
littlejewel_mc.addEventListener(MouseEvent.MOUSE_UP, droplittlejewel_mc); 

function pickuplittlejewel_mc(event:MouseEvent):void { 
event.target.startDrag(true); 
} 
function droplittlejewel_mc(event:MouseEvent):void { 
event.target.stopDrag(); 
} 

에서 , 나는 내 결과에 얼마나 가까운 확실하지 않다. 감사합니다.

답변

0

나는 아주 당신을 잘 이해한다면 몰라,하지만 난 당신에게 설명하려고 :

당신이 라이브러리상의 보석 무비 클립을 상상해,이 코드는 무한 보석 및 다음 드래그 앤 드롭을 만들 수 있습니다 그들 :

example fla

: 여기

import flash.display.Sprite; 
import flash.events.MouseEvent; 

this.addEventListener(MouseEvent.MOUSE_DOWN, createJewel); 

//---Global variable 
var _jewel:Sprite; 

//---Create jewel 
function createJewel(evt:MouseEvent){ 

    _jewel = new Jewel(); 

    _jewel.x = evt.stageX; 
    _jewel.y = evt.stageY; 

    addChild(_jewel); 

    _jewel.startDrag(false); 
    _jewel.addEventListener(MouseEvent.MOUSE_DOWN, dragJewel); 
    stage.addEventListener(MouseEvent.MOUSE_UP, dropJewel); 

} 

//---Jewel start drag 
function dragJewel(evt:MouseEvent){ 

    //---Avoid the event propagate to the Stage 
    evt.stopPropagation(); 

    _jewel = evt.currentTarget as Sprite; 

    _jewel.startDrag(false); 

    stage.addEventListener(MouseEvent.MOUSE_UP, dropJewel); 

} 

//---Drop jewel 
function dropJewel(evt:MouseEvent){ 

    stage.removeEventListener(MouseEvent.MOUSE_UP, dropJewel); 

    _jewel.stopDrag(); 

} 

당신은 exmaple와 플래시를