Project1

标题: 获取某个精灵在屏幕(x,y)处的色彩 [打印本页]

作者: 俄罗斯方块    时间: 2014-6-18 23:44
标题: 获取某个精灵在屏幕(x,y)处的色彩
本帖最后由 俄罗斯方块 于 2014-6-19 23:05 编辑

我知道如果要对某个精灵使用方法self.bitmap.get_pixel(x,y)的话 获取的是相对于其原点,(x,y)处的色彩

设:所要获取色彩的目标点为A(A在精灵a的范围内),
      (精灵a.x,精灵a.y)为B,
      (精灵a.ox,精灵a.oy)为C,
      目标点相对于精灵原点的坐标设为D

所以向量BA==向量CD不是吗?
所以D=A-B+C不是吗?

那为什么我照这样计算出的D和真实的D对不上号呢?

哪里错了?

(也不知道我描述清楚没,代码是这样的)
  1. x=tx-a.x+a.ox
  2. y=ty-a.y+a.oy #获取a精灵在屏幕上(tx,ty)处的色彩
  3. p a.bitmap.get_pixel(x,y)
复制代码

作者: 菜鸟飞呀飞    时间: 2014-6-19 05:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: fux2    时间: 2014-6-19 09:34
最方便的方法是给画面截图成bitmap之后直接get_pixels
,不然就在Object_Space里遍历所有Sprite取符合条件的sprite(优先级最高,viewport优先级最高)
然后取的坐标减去sprite的坐标加上oxoy的中心坐标。
作者: 俄罗斯方块    时间: 2014-6-19 23:04
谢谢各位。问题解决了。




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