1
對於2D遊戲的目的cordinate起源我必須在拉斐爾的js文件的原點(0,0)設置爲另一個角落。默認情況下,原稿正在紙張的左上角設置。我怎樣才能改變拉斐爾JS原點位置,使元素可以相對被吸引到新的原點?如何改變拉斐爾JS文件
對於2D遊戲的目的cordinate起源我必須在拉斐爾的js文件的原點(0,0)設置爲另一個角落。默認情況下,原稿正在紙張的左上角設置。我怎樣才能改變拉斐爾JS原點位置,使元素可以相對被吸引到新的原點?如何改變拉斐爾JS文件
我覺得沒有官方的方法。 您可以將各種形狀(width_of_canvas - shape_of_width)/ 2和(height_of_canvas - shape_of_height)/ 2創建後。所以你可以將它們的起源克里特並用這樣的函數來轉換它們。
var paper = Raphael("canvas", 400, 400);
var offsetWidth = paper.width/2,
offsetHeight = paper.height/2;
var paperBorder = paper.rect(0,0,paper.width, paper.height).attr({ stroke:"black"})
var rectangle = paper.rect(0, 0, 50, 50).attr({
stroke:"black",
fill:"aqua"
})
function transformToCenter(shape) {
var shapeProps = shape.getBBox();
var itemOffsetWidth = offsetWidth - shapeProps.width/2,
itemOffsetHeight = offsetHeight - shapeProps.height/2;
shape.transform("t" + itemOffsetWidth + " " + itemOffsetHeight);
}
transformToCenter(rectangle);
非常感謝。我會試試這個。 –
讓我知道它的工作與否。 –
我的目的是設置紙張本身的起源,這樣,如果我增加新車型將定位涉及到這一點。但似乎除了像你所說的那樣畫出一切並變換之外別無他法。這很好,謝謝。 –