lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 12028|回复: 12
打印 上一主题 下一主题

getPixels 使用问题

[复制链接]

19

主题

0

好友

231

积分

帐下督

Rank: 2

跳转到指定楼层
楼主
发表于 2017-2-16 13:19:24 |只看该作者 |正序浏览
本帖最后由 kezhiyu 于 2017-2-16 13:23 编辑

场景: 现在要求背景可定制,但是 背景里面的 每个洞穴下方 都有另外一张绿色草皮图片 作为挡板,遮挡老鼠的 下半身 ,形成椭圆显示的效果
但是更换了背景 自然也要更换档板,用户不可能做到这么精确的配套, 所以 想用getPixels  获取洞穴下方的 像素后重新贴上去,但是 由于 getPixels  方法 只能用四边形,如何取 不规则的 像素,(挡板明显是 有弯曲的)。这样的情况是不是只能用getPixel 一个一个取?。看起来过程相当消耗


bg_hole.png (81.58 KB, 下载次数: 2360)

这是档版

这是档版

Selection_002.png (245.28 KB, 下载次数: 2424)

这个是被挡板遮住后效果

这个是被挡板遮住后效果

回复

使用道具 举报

37

主题

8

好友

9321

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

13#
发表于 2017-2-17 15:22:39 |只看该作者
kezhiyu 发表于 2017-2-17 13:03
1.API文档的关于LSprit mask 的例子有误导性,我第一眼看过去以为就只有 给 位图才能添加mask,虽然 mask ...

第一个问题
看文档仔细一些就行了,比如你点开LSprite的mask
mask LDisplayObject public
Inherited from LDisplayObject: display/LDisplayObject.js:83
Available since 1.6.0
上面的信息明确指明,mask是LDisplayObject对象的属性,在引擎1.6.0之后可以使用,只要是LDisplayObject对象,自然都可以用mask,文档中给出的demo只是为了让大家了解用法,不可能把每个子对象都写一遍啊,那样一个继承一个,那要写多少个呢?

第二个问题
http://lufylegend.com/api/zh_CN/ ... tml#method_getWidth
http://lufylegend.com/api/zh_CN/ ... ml#method_getHeight
不回答与技术和引擎不相关的问题
回复

使用道具 举报

19

主题

0

好友

231

积分

帐下督

Rank: 2

12#
发表于 2017-2-17 13:03:59 |只看该作者
本帖最后由 kezhiyu 于 2017-2-17 13:21 编辑
lufy 发表于 2017-2-17 10:52
...
一个对象A,加个mask,这个固定不动
松鼠B加到对象A里,然后松鼠移动

1.API文档的关于LSprit mask 的例子有误导性,我第一眼看过去以为就只有 给 位图才能添加mask,虽然 mask属性属于 LSprite,我还以为 语法就必须是 位图(bitmap.data) 才能用
2.为什么 Lsprite 里面我已经添加了位图,但是Lsprite 的width 和height 属性 依然是0,那什么时候 Lsprite 的width 和height  才会自动随物品加入后增加

Selection_003.png (6.79 KB, 下载次数: 1314)

Selection_003.png

回复

使用道具 举报

19

主题

0

好友

231

积分

帐下督

Rank: 2

11#
发表于 2017-2-17 11:00:02 |只看该作者
lufy 发表于 2017-2-17 10:52
...
一个对象A,加个mask,这个固定不动
松鼠B加到对象A里,然后松鼠移动

框架用的不是很好。谢谢
回复

使用道具 举报

37

主题

8

好友

9321

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

10#
发表于 2017-2-17 10:52:01 |只看该作者
kezhiyu 发表于 2017-2-17 10:25
这个mask 会随着 小鼠移动, 有没有这样的 mask  固定在洞穴 但是可以遮挡老鼠的下半身,不然mask随着老鼠 ...

...
一个对象A,加个mask,这个固定不动
松鼠B加到对象A里,然后松鼠移动
不回答与技术和引擎不相关的问题
回复

使用道具 举报

19

主题

0

好友

231

积分

帐下督

Rank: 2

9#
发表于 2017-2-17 10:25:01 |只看该作者
lufy 发表于 2017-2-16 14:23
楼上正解
就是让你用LShape或LSprite的LGraphics画一个椭圆遮罩啊

这个mask 会随着 小鼠移动, 有没有这样的 mask  固定在洞穴 但是可以遮挡老鼠的下半身,不然mask随着老鼠移动会不停的变化,变扁以后 地鼠在下部消失的水平线不是 凹下去的 (要的是 椭圆的消失线);最大的圆圈是mask ,地洞被老鼠遮挡,如图

未命名_meitu_1.jpg (18.95 KB, 下载次数: 2308)

未命名_meitu_1.jpg

回复

使用道具 举报

19

主题

0

好友

231

积分

帐下督

Rank: 2

8#
发表于 2017-2-16 15:16:23 |只看该作者
lufy 发表于 2017-2-16 14:23
楼上正解
就是让你用LShape或LSprite的LGraphics画一个椭圆遮罩啊

谢谢。我看看
回复

使用道具 举报

19

主题

0

好友

231

积分

帐下督

Rank: 2

7#
发表于 2017-2-16 15:15:21 |只看该作者
zyflzxy 发表于 2017-2-16 14:22
shape画一个椭圆,然后mask要遮档的物体就可以。

谢谢。我看看
回复

使用道具 举报

37

主题

8

好友

9321

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

6#
发表于 2017-2-16 14:23:16 |只看该作者
kezhiyu 发表于 2017-2-16 13:34
主要是 要有一个椭圆遮挡效果。 而不是直线遮挡

楼上正解
就是让你用LShape或LSprite的LGraphics画一个椭圆遮罩啊
不回答与技术和引擎不相关的问题
回复

使用道具 举报

65

主题

2

好友

1355

积分

偏将军

Rank: 4

5#
发表于 2017-2-16 14:22:45 |只看该作者
kezhiyu 发表于 2017-2-16 13:34
主要是 要有一个椭圆遮挡效果。 而不是直线遮挡

shape画一个椭圆,然后mask要遮档的物体就可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-5-29 09:48 , Processed in 0.055771 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部