2013-05-27 3 views
0

일부 화살표를 만들어 사각형과 두 개의 삼각형을 그룹화 한 다음이 개체를 복제해야합니다.개체 그룹 설정이 작동하지 않습니다.

var paper = Raphael("arrows", 960, 100); 
var r = paper.rect(10, 10, 10, 50); 
r.attr({fill: 'black'}) 
var p1 = paper.path("M5,10L15,0L25,10Z") 
p1.attr({"stroke-width": 1, fill: "black"}); 
p2 = p1.clone(); 
p2.transform("t0,60r180"); 
st = paper.set(); 
st.push(r, p1, p2); 
ar2 = st.clone(); 
ar2.transform("t30,0"); 

문제는이 P2 변형 삼각형이 복사되지 않습니다 또는 적어도 내가 복제 화살표에서 볼 수 없다는 것입니다 : 내가 그것을 수행하려고 할 방법은 다음이다. 에 게시 됨 : http://jsfiddle.net/empirik/rFuVy/1/

+0

후 샘플 코드 어딘가에 jsfiddle 등 ..so 내가 ' – Arun

+0

을 확인해 쉽게됩니다 게시했습니다. 질문을 업데이트했습니다. –

답변

0

, 당신은 당신이 원하는 경우 화살표의 크기를 변경해야 할 수도 있습니다. 그러나 가장 좋은 방법은 path을 그리고 3 가지 다른 모양을 만들고 SET에 밀어 넣는 대신 경로를 복제하는 것입니다. 여기

코드입니다 : 또한

$(function(){ 
    var paper = Raphael(0,0, 960, 100); 
    var path = paper.path("M 20 20 L 35 5 50 20 43 20 43 80 50 80 35 95 20 80 27 80 27 20z").attr("fill", "black"); 

    path2 = path.clone(); 
    path2.transform("t50, 0");  

}); 

당신이 데모를 확인하실 수 있습니다 here

+1

누가 투표 했습니까? WTH? 나는 Dmitry Mikhaylov 질문에 대답했다. – Brian

0

변환 된 삼각형은 복제 ar2에 포함되어 있지 않습니다.

그냥 화살표를해야하는 경우

이 완료하는 함수에 다음 라인을 추가 : 나는 당신의 문제를 해결

var p3 = p2.clone(); 
p3.transform("t30,60r180"); 
+0

하지만 왜? 사실 나는 화살을 많이 만들어야하기 때문에 그들을 모두 묶어 야합니다. –

+1

나는 라파엘과 함께 꽤 녹슨합니다. 전체 화살표를 복제 할 때 변형 된 화살표가 포함되지 않은 것 같습니다. st.push (r, p1)를 사용하면 출력이 동일합니다. 전체 화살표를 단일 플롯으로 그려서 [이 긴급한 경우] 걱정하지 말고 복제하십시오. – Arun

관련 문제