请问createjs中如何让container切除超出container大小的子元素图形

发布于 2022-09-03 08:13:54 字数 368 浏览 22 评论 0

在一个用Easeljs的项目中,遇到了需要一个容器(作为游戏中某一个小屏幕),容器内的显示元素会超出容器外,但是超出的部分仍旧会被正常显示,效果如图:
图片描述

图片中蓝色区域是container的范围,红色的钩爪是container中的Bitmap元素,但是显然它超出了container的范围,但仍旧完整地显示了出来。

我知道有一个hack的方法是单独建一个stage用作屏幕的canvas,就可以实现边缘外切除的效果,但是想知道有没有正常的方法能实现这样的效果?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花海 2022-09-10 08:13:54

/**

  • A Shape instance that defines a vector mask (clipping path) for this display object. The shape's transformation

  • will be applied relative to the display object's parent coordinates (as if it were a child of the parent).

  • @property mask

  • @type {Shape}

  • @default null
    */

this.mask = null;

官方API中写到了container类有一个属性叫做mask,设置container的元素的mask为想要作为遮罩的shape类型元素即可实现遮罩,经测试如图:
图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文