设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1461|回复: 3
打印 上一主题 下一主题

[已经解决] 获取某个精灵在屏幕(x,y)处的色彩

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
130 小时
注册时间
2013-6-30
帖子
92
跳转到指定楼层
1
发表于 2014-6-18 23:44:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 俄罗斯方块 于 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)
复制代码

点评

精灵还有个属性是 src_rect  发表于 2014-6-19 10:40
菜鸟飞呀飞 该用户已被删除
2
发表于 2014-6-19 05:24:24 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42329
在线时间
7598 小时
注册时间
2009-7-6
帖子
13505

开拓者贵宾

3
发表于 2014-6-19 09:34:23 | 只看该作者
最方便的方法是给画面截图成bitmap之后直接get_pixels
,不然就在Object_Space里遍历所有Sprite取符合条件的sprite(优先级最高,viewport优先级最高)
然后取的坐标减去sprite的坐标加上oxoy的中心坐标。

点评

目测楼主的要求没有这么麻烦,直接用位图坐标就可以了=。=  发表于 2014-6-19 09:35
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
130 小时
注册时间
2013-6-30
帖子
92
4
 楼主| 发表于 2014-6-19 23:04:44 | 只看该作者
谢谢各位。问题解决了。

点评

原来如此  发表于 2014-6-20 21:45
VA区没有认可贴  发表于 2014-6-20 06:23
或者放着不管,咱会来结贴的~  发表于 2014-6-20 06:23
moy
@版主之类,或者自己去认可帖回帖认可  发表于 2014-6-19 23:40
话说现在不能自己把主题分类改成“已经解决”了么?那我以后问题解决之后该@谁呢?  发表于 2014-6-19 23:06
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 09:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表