Project1

标题: ox是什么意思? [打印本页]

作者: kvkv97    时间: 2025-12-31 23:10
标题: ox是什么意思?
在Sprite_Character中,有段程序段是这样的
self.ox = @cw / 2
我把他改成
self.ox = 100
结果人物向左移动了100,为什么会这样,ox说是原点的传送元坐标,它是什么意思?
作者: kvkv97    时间: 2025-12-31 23:28
地图的原点是左上角吗?
作者: 百里_飞柳    时间: 2025-12-31 23:47
简单来讲,你想要在墙上挂一幅画,就需要用钉子钉住。
那么,就出现两个位置需要确定好,一个是画要挂在墙上哪里,一个是钉子要钉在画上哪里。
前一个好理解,就是墙上的坐标,后一个就是要在画上选一个点,作为钉子的固定点,一般会选画的顶部中心点。

为了方便挂到想要的位置,肯定是要先决定钉子在墙上的位置,这样画也就挂好了。

对应过来,就是在游戏屏幕上,你想把一张图片显示在某个位置,但图片是个矩形,你只能指定一个坐标,也因此,实际是由图片上的固定点决定了图片的位置。
默认 self.x=数字,self.y=数字 是图片显示在屏幕上的位置,而默认的固定点叫显示原点,self.ox=0,self.oy=0,默认为图片左上角,这样就是把图片的左上角放到坐标(x,y)处 也就成功显示了图片。

你改成了self.ox=100,就把显示原点往右移了100,那坐标不变的情况下,假如图片本来在0,0处,显示原点也是0,0,右边的某点在(0,100)处,更改ox后,右边的这个点就变成了要放在(0,0)处的点,也就是整体都往左移动了100了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1