【easeljs】显示对象基础 DisplayObject 类

类介绍

继承自 EventDispatcher

DisplayObject is an abstract class that should not be constructed directly. Instead construct subclasses such as Container, Bitmap, and Shape. DisplayObject is the base class for all display classes in the EaselJS library. It defines the core properties and methods that are shared between all display objects, such as transformation properties (x, y, scaleX, scaleY, etc), caching, and mouse handlers.

方法

cache (x,y,width,height[,scale=1])

Defined in cache:749 把此显示对象写进一个新的隐藏的canvas,然后用于接下来的绘制。此显示对象可能有多个child,也可能有多个滤镜,stage每次update需要绘制这个对象的时候都会重新绘制所有child和滤镜,因此可以用这个缓存起来,下次直接把它放上画布速度就快了。缓存好的这个显示对象,可以自由地移动、旋转、渐消(faded)。然而,如果它的内容发生变化,你必须手动调用updateCache() 或者重新使用 cache()。你必须通过x, y, w, 和 h参数,指定缓存的区域,这里指定的矩形区域会被渲染和缓存,且使用的是这个对象的坐标系。

例如如果你定义了一个形状,而且在形状里0,0位置画一个半径25的圆形:

 var shape = new createjs.Shape();
 shape.graphics.beginFill("#ff0000").drawCircle(0, 0, 25);
 myShape.cache(-25, -25, 50, 50);

参数:

  • x Number 需要缓存的区域的x值(此区域指的是此对象本身的区域,坐标系是此对象本身的)
  • y Number 需要缓存的区域的y值(此区域指的是此对象本身的区域,坐标系是此对象本身的)
  • width Number 需要缓存的区域宽度(此区域指的是此对象本身的区域)
  • height Number 需要缓存的区域高度(此区域指的是此对象本身的区域).
  • [scale=1] Number optional 缓存的scale会自动创建。例如使用myShape.cache(0,0,100,100,2)缓存一个矢量形状,然后得出的缓存canvas会是200x200 px。这个可以让你更保真地放大和旋转缓存元素。默认是1。

注意1:滤镜要在缓存之前指定。一些滤镜(例如 BlurFilter)和scale一起使用是不会产生效果的。(这一点是官方翻译过来的,应该是指注意3中提到的问题吧) 注意2:通常,最终的缓存canvas的面积是widthscale乘以heightscale,然而一些滤镜(例如 BlurFilter)会给原对象添加宽度(可以看到使用过BlurFilter的矩形,边缘已经不是一条线了,而是扩展出一些像素出去了的),所以缓存时的宽度注意加上这些扩展出来的。怎么获取BlurFilter扩展出的像素 注意3:注意:width和height两个参数,对于已经用scale改变过形状大小的对象来说,应该填它原来的宽度,而不是改变大小后的宽度,比如一个矩形原始宽度是100px,设置了scaleX=0.5,填这个值时,应该填100,而不是50!(这是我理解了之后加的,官方并没有这样说,而且似乎只有加了BlurFilter的对象才会这样,我现在在进行实际开发,不能做实验,晚些有空再做实验吧。)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏cnblogs

bootstrap深入理解之格子布局

一、源码文件: _grid.scss:格子系统类文件 Mixins/_grid.scss:支持格子系统实现的mixin集合 Mixins/_grid-fra...

267100
来自专栏程序员宝库

如何用 vue 制作一个探探滑动组件

前言 嗨,说起探探想必各位程序汪都不陌生(毕竟妹子很多),能在上面丝滑的翻牌子,探探的的堆叠滑动组件起到了关键的作用,下面就来看看如何用vue写一个探探的堆叠组...

853130
来自专栏林德熙的博客

win10 uwp 截图 获取屏幕显示界面保存图片 水印

本文主要讲如何保存我们的屏幕显示的控件,保存为图片。这个也就是截图,截我们应用显示的,我们应用之外的不截图。

12510
来自专栏林德熙的博客

WPF 在image控件用鼠标拖拽出矩形

今天有小伙伴问我一个问题,在image控件用鼠标拖拽出矩形,本文告诉大家如何使用鼠标画出矩形

17410
来自专栏Coco的专栏

不受控制的 position:fixed

27240
来自专栏DannyHoo的专栏

新浪微博项目笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

19710
来自专栏coding for love

CSS入门13-单位详解

(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

8720
来自专栏Python疯子

Python 简单实现标签词云

基于Python的词云生成类库,很好用,而且功能强大.博主个人比较推荐 github:https://github.com/amueller/word_clo...

60210
来自专栏Android群英传

模拟自然动画的精髓——TimeInterpolator与TypeEvaluator

13010
来自专栏hbbliyong

代码创建 WPF 旋转、翻转动画(汇总)

先建立一个button <Button Width="80" Height="60" Content="旋转" Name="trans" Cl...

33440

扫码关注云+社区

领取腾讯云代金券