2012-09-21 3 views
2

두 경로가 그려져 있습니다. 저는 그 중 하나에 광선을 적용했습니다. 광선 효과가없는 경로 만 변환하고 광선을 사용하지 않는 경로는 변환되지 않고 "광선"이 변형됩니다. 나는 길과 빛이 함께 변화되기를 바랍니다. 어떻게하면 될까요? 나는 내 문제를 제대로 설명했으면 좋겠다. jsfiddle LinkRaphael.js로 변환

window.onload = function(){ 

var paper = Raphael(0,0,1900,950); 

var rect01 = paper.set(); 
rect01.push(
paper.rect(20,30,10,15).attr({fill:'blue',stroke:'none'}).glow({width:5,opacity:1,color:'red'}),  
paper.rect(50,30,10,15).attr({fill:'green',stroke:'none'}) 
) 

var superset = paper.set(); 
superset.push(rect01); 
superset.transform("T10,10"); 
} 

답변

1

그것은 단지 당신이 당신의 세트를 구축하고 방법의 문제 :

여기 내 코드입니다. 대부분의 요소 함수는 수정중인 요소에 대한 참조를 반환하지만 광선은 예외입니다. 광선 효과 자체에 대한 새 set 요소를 반환합니다. 위의 코드에서 첫 번째 rect 및 두 번째 rect에는 광선을 효과적으로 삽입하지만 첫 번째 rect 자체에는 광선을 삽입하지 않습니다.

코드의 간결성을 유지하려면 paper을 사용하는 것이 좋습니다. 및 paper. setFinish 세트를 작성하십시오.

var rect01 = paper.set(); 

paper.setStart();  

paper.rect(20,30,10,15).attr({fill:'blue',stroke:'none'}).glow({width:5,opacity:1,color:'red'});  
paper.rect(50,30,10,15).attr({fill:'green',stroke:'none'}); 

var rect01 = paper.setFinish(); // gets a reference to a set containing everything created since the setStart call above 
+0

감사합니다. Kevin. 큰 충고. –

+0

세트를 사용하지 않고 광선을 삽입 한 경로가 하나 인 경우 어떻게해야합니까? 이러한 경우 경로와 광선을 어떻게 변환 할 수 있습니까? –