Graphics JavaFX节点中x,y的锚点
某些sprite应用程序(即)允许您定义对象的定位点 例如,如果矩形的定位点为Graphics JavaFX节点中x,y的锚点,graphics,2d,javafx,Graphics,2d,Javafx,某些sprite应用程序(即)允许您定义对象的定位点 例如,如果矩形的定位点为0,0,其坐标为x:0,y:0,则矩形的左上点将显示在屏幕的左上点 但是,如果矩形的定位点为50,50,且其大小为100x100,则矩形的中间将位于0,0,并且仅显示其右下部分 JavaFX中是否有类似的属性?有没有一种简单的方法来实现这一点(您能将JavaFX节点的x和y坐标绑定到它自己的高度和宽度吗?) 当我将x,y坐标绑定到boundsInLocal/Parent.width时,我得到一个运行时异常。如您所说,矩
0,0
,其坐标为x:0,y:0
,则矩形的左上点将显示在屏幕的左上点
但是,如果矩形的定位点为50,50
,且其大小为100x100
,则矩形的中间将位于0,0
,并且仅显示其右下部分
JavaFX中是否有类似的属性?有没有一种简单的方法来实现这一点(您能将JavaFX节点的x
和y
坐标绑定到它自己的高度和宽度吗?)
当我将
x,y
坐标绑定到boundsInLocal/Parent.width
时,我得到一个运行时异常。如您所说,矩形的原点在左上角。
您有两个用于定位节点的选项。您可以使用layoutX和layoutY。
var rect=矩形{
布局X:50
布局:50
寡妇:100
身高:100
}
或者translateX和translateY
var rect=矩形{
translateX:50
特兰西:50
寡妇:100
身高:100
}
同时使用layoutX/Y和translateX/Y的主要目的是,translateX/Y用于可变,而layoutX/Y用于初始定位。例如,可以在动画中更改translateX/Y,同时在layoutX/Y中记住原始位置。最终位置始终为layoutX+translateX和layoutY+translateY
要将原点移动到中心点(50,50),请使用负平移。
var rect=矩形{
translateX:-50
特兰西:-50
寡妇:100
身高:100
}
某些形状不基于左上角原点。例如,Circle使用centerX和centerY。不够好。我想将X,Y绑定到当前节点的宽度;或者最好是var rect:Rectangle=Rectangle{layoutX:bind rect.width layoutY:bind rect.height};对不起,我忘记了,x和y已从节点中删除。您必须使用layoutX/Y或translateX/Y。因此,您可以使用矩形{layoutX:bind rect.layoutbunds.width}。