2012-09-06 8 views
3

다트에서 드래그 가능한 이미지를 얻으려고합니다. 내 이미지의 draggable bool 설정은 작동하지 않지만.다트 - 드래그 가능 이미지

image = new ImageElement(); 
image.src = ImageSourceByName(name); 
image.on.load.add((event) {Context.drawImage(image, 10, 10, CARD_SMALL_WIDTH, CARD_SMALL_HEIGHT);}); 
image.draggable = true; 

(참고 : 컨텍스트 내 캔버스에서 얻을 2D 컨텍스트입니다.)

도면 내가 주위를 드래그 할 수 있지만 나는 나의 카드를 볼 수있는, 완벽하게 작동합니다. 저는 Dart를 처음 접했기 때문에 설명하는 튜토리얼을 찾을 수는 없지만 확실한 내용 일 수 있습니다.

답변

2

CanvasElement에서 무언가를 그리기 위해 ImageElement를 소스로 사용하고 있습니다. 픽셀 일단
는 (()는의 drawImage를 통해), 이미지 데이터가 아니라,는 HTMLElement이 아니라 캔버스에 픽셀 :

draggable ATTR은, 그러나,는 HTMLElement의 속성입니다. 당신이 문서에 이미지를 추가하는 경우 , 당신은이 같은 draggable의 행동을 연구 할 수 있음을 알 수 있습니다 : 당신이 '단지'드래그 이미지를 갖고 싶어 document.body.nodes.add(image);

, 당신은 거기에서 걸릴 수 있습니다 및 아마도 http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html 캔버스에 물건을 드래그 할 수있게하려면 다른 (더 복잡한?) 이야기가 필요합니다.

+0

아하, 설명해. 필자는 kineticjs를 사용 했었습니다. 캔버스에 물건을 넣을 수있는 드래그 가능한 재료를 사용했기 때문에 모든 곳에서 효과가 있다고 생각 했었지만, 그 당시에는 kineticjs 그 자체였습니다. 드래그 할 수있게하려면 코드를 직접 작성해야합니다. (내가 게임을 만들고 있기 때문에 내가하고있는 캔버스를 사용하고 싶다고 가정한다.) –

+0

네, 캔버스에 '발로'해야합니다.) 저는 캔버스 작업에 전혀 익숙하지 않습니다. , 불행히도 나는 더 이상의 포인터를 제공 할 수 없다. – Carsten

관련 문제